5

更改代码中的选定值后,我似乎无法触发列表框的更改。如果实际单击列表框,则更改功能非常有用。我搜索了论坛,但似乎没有一个解决方案对我有用。示例代码如下。我还在这里设置了一个 jsfiddle 。我希望它在代码运行时进入更改功能。

<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");
});
4

1 回答 1

4

您需要将 .change 绑定移动到文档就绪块中。我在你的 jsfiddle 中更改了它,当代码触发它时它会提醒“更改”,而不是在点击时。http://jsfiddle.net/65wHW/2/

$(function () {
    $("#ScriptId").change(function () {

       alert("change");
    });

    id = 8
    if (id > 0) {
       alert(id)
       $('#ScriptId').val(id).change();
    }
});
于 2013-06-07T06:23:27.317 回答