我正在使用JQuery根据另一个选择下拉列表的值更新选择下拉列表的defualt选项。出于某种原因,更新仅适用于第一次更改,我无法弄清楚原因。
HTML:
<label>Enclosure Type:</label>
<select name="enclosure_type_it">
<option value="global">Global </option>
<option value="server_optimized">Server Optimized </option>
</select>
<div class="pure-control-group">
<label>Handles:</label>
<select name="handles_it" id="handles_datacenter">
<option value="Semi Cylinder">Semi Cylinder</option>
<option value="Combo_Security Handle">Combo/Security Handle </option>
<option value="Comfort Handle">Comfort Handle </option>
</select>
</div>
<div class="pure-control-group">
<label>Inserts:</label>
<select name="inserts_it" id="inserts_datacenter">
<option value="Pushbutton">Pushbutton </option>
<option value="Locking pushbutton">Locking pushbutton </option>
<option value="Locking">Locking </option>
</select>
</div>
JQuery的:
$('#enclosure_type_it').change(function() {
if ($(this).val() == "global") {
$('#handles_datacenter option[value="Semi Cylinder"]').attr("selected", true);
$('#inserts_datacenter option[value="Locking"]').attr("selected", true);
}
if ($(this).val() == "server_optimized") {
$('#handles_datacenter option[value="Comfort Handle"]').attr("selected", true);
$('#inserts_datacenter option[value="Locking pushbutton"]').attr("selected", true);
}
}).change();
仍然不确定我做错了什么:http://jsfiddle.net/y7easnb7/
答案 0 :(得分:3)
使用.val()
设置值,您还需要使用enclosure_type_it
作为选择ID。
HTML 的
<select id="enclosure_type_it">
脚本
$('#enclosure_type_it').change(function() {
if ($(this).val() == "global") {
$('#handles_datacenter').val("Semi Cylinder");
$('#inserts_datacenter').val("Locking");
}
if ($(this).val() == "server_optimized") {
$('#handles_datacenter').val("Comfort Handle");
$('#inserts_datacenter').val("Locking pushbutton");
}
}).change();
如果要使用name属性。使用以下作为选择器
$('select[name="enclosure_type_it"]')