在代码中更改选定值后,我似乎无法触发列表框的更改。如果实际单击了列表框,则更改功能效果很好。我搜索了论坛,似乎没有一个解决方案适合我。示例代码如下。我还设置了一个 jsfiddle here .我希望它在代码运行时进入 change 函数。
<form>
<select class="selectOneListBox" id="CompanyId" multiple="multiple" name="CompanyId">
<option value="1">Test</option>
<option value="2">Test 2</option>
<option value="3">Test</option>
</select>
<form>
$(function () {
id = 3
if (id > 0) {
alert(id)
$('#CompanyId').val(id).change();
}
});
$("#CompanyId").change(function () {
alert("change");
});
最佳答案
您需要将 .change 绑定(bind)移动到文档就绪 block 中。我在你的 jsfiddle 中更改了它,当代码触发它时它会提醒“更改”,而不是仅在单击时。 http://jsfiddle.net/65wHW/2/
$(function () {
$("#ScriptId").change(function () {
alert("change");
});
id = 8
if (id > 0) {
alert(id)
$('#ScriptId').val(id).change();
}
});
关于jquery:选择列表框中的项目并触发更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16977269/