在我更改代码中的选定值后,我似乎无法在列表框上触发更改。如果实际单击列表框,则更改功能很有用。我搜索了论坛,似乎没有一个解决方案适合我。示例代码如下。我还设置了一个jsfiddle here。我希望它在代码运行时进入更改功能。
<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");
});
答案 0 :(得分:4)
您需要将.change绑定移动到文档就绪块中。我在你的jsfiddle中改变了它,当代码触发它时它会发出'change',而不是点击时。 http://jsfiddle.net/65wHW/2/
$(function () {
$("#ScriptId").change(function () {
alert("change");
});
id = 8
if (id > 0) {
alert(id)
$('#ScriptId').val(id).change();
}
});