当选项基于另一个选择时,保持选定选项显示

时间:2016-03-10 04:16:32

标签: javascript php jquery html

我有一个HTML<形式>两个独立的<选择>。 <选项>在第二个<选择>基于<选项>选择在第一个<选择>。这可以使用mcravens中的建议并进一步详细here

虽然第一个<选择>按下&时,保留值。提交>按钮,第二个中的选定值<选择>始终重置为“ - 选择一个 - ”。我希望第二个选定的值保持显示和不变,直到手动更改或第一个<选项>已更改(更改了第二个可用选项)。

我已经能够通过向select添加名称来捕获第二个选定值的值: (HTML)

<select name="CSsize" id="size">
   <option value="">Select...</option>
</select>

然后使用$ _POST收集所选值: (PHP)

if(isset($_POST["CSsize"]) && !empty($_POST["CSsize"])) { 
    $CSsize = $_POST["CSsize"];} else { $CSsize="0";}

这意味着我可以捕获第二个&lt;选择&gt;一旦提交并在剩余的代码中使用它。那里没有问题,我的问题纯粹是如何保持所选择的值显示在第二个&lt;选择&gt;在页面上。

我试过修改第二个&lt;选择&gt;使用PHP echo等,例如:

<option <?php if ($CSsize != "0" ) echo 'selected' ; ?> value=""></option>

并尝试使用if语句修改.js,例如:

if ($("#size").val() !== "Select...") {

似乎没有任何效果,第二个&lt;选择&gt;每次都会重新固定。

我喜欢帮助我告诉我哪里出错了?!谢谢!

2 个答案:

答案 0 :(得分:0)

当您加载页面并获得第二个选择的值时,只需调用以下代码

var val = $('#type').val();
$("#size").html(options[val]);

Check the fiddle link for you solution

希望这有帮助

答案 1 :(得分:0)

  

我可以捕获第二个&lt;选择&gt;提交后,将其用于剩余代码

如果我理解正确,您可以使用以下for (int i=1; i<5; i++) { NSMutableString *string1; NSMutableString *string2; string1 = @”images"; string2 = string1; [string2 appendString: i]; [string2 addObject:nameBild]; string2.alpha = 0.5; } 区域中的捕获结果生成option selected属性

script

如果使用"<option>item1...</option><option <?php echo .... 'selected'; ?> >item1...</option>"... 进行.js file操作不是一种选择,则使用php元素中的data属性并通过select检索该属性可以正常工作

然后在.data()结束时调用$("#type").change()将执行处理程序并像往常一样构建第二个选择框。

.ready()

See Demo