我希望在触发另一个下拉列表更改时更改下拉列表的值。
<select id="option">
<option id="1">1</option>
<option id="2">2</option>
</select>
<select id="au">
<option id="admin">admin</option>
<option id="user">user</option>
</select>
<input type="checkbox" id="cb">hii
如果我将第一个下拉列表option
更改为1
,则第二个下拉列表应更改为值为admin,并且应选中复选框,并且两者都应该禁用。
我该怎么办?
这是我尝试过的。
$("#option").change(function() {
$("#cb").prop('checked', true);
});
答案 0 :(得分:2)
您必须获取ID,而您应该使用值,但无论如何
$('#option').on('change', function() {
var id = $('option:selected').prop('id');
$('#admin').prop('selected', id == '1').closest('select').prop('disabled', id == '1');
$('#cb').prop('checked', id == '1').prop('disabled', id == '1');
});
正确的方法,值
答案 1 :(得分:0)
用户属性value
来分配值。
HTML:
<option value="1" id="1">1</option>
<option value="2" id="2">2</option>
<option value="admin" id="admin">admin</option>
<option value="user" id="user">user</option>
JS:
$("#option").change(function() {
if($(this).val() == "1"){
$("#au option[value='admin']").attr("selected","selected");
$("#au").attr("disabled","disabled");
$("#cb").prop("checked",true).attr("disabled","disabled");
}
else{
$("#au").removeAttr("disabled");
$("#cb").removeAttr("disabled");
}
});