Javascript 剑道下拉列表触发更改事件
我正试图使用下面的代码设置剑道下拉列表的值,并期望“更改”事件被提升,但它没有。有人能帮忙吗 根据要求添加了附加代码 HTML代码Javascript 剑道下拉列表触发更改事件,javascript,kendo-ui,Javascript,Kendo Ui,我正试图使用下面的代码设置剑道下拉列表的值,并期望“更改”事件被提升,但它没有。有人能帮忙吗 根据要求添加了附加代码 HTML代码 <div class="col-md-12 no-padding"> <select id="serviceAccounts" kendo-drop-down-list k-ng-model="vm.customer.serviceAccountId" k-va
<div class="col-md-12 no-padding">
<select id="serviceAccounts"
kendo-drop-down-list
k-ng-model="vm.customer.serviceAccountId"
k-value-primitive="true"
k-options="vm.setServiceAccountOptions" style="width: 100%">
</select>
</div>
提前谢谢
$("#serviceAccounts").trigger("change");
不会触发剑道下拉列表的“更改”事件,因为
$("#serviceAccounts")
不是你的剑道下拉列表…它只是一个jQuery选择器
您需要先获得对实际DropDownList的引用,然后才能触发其事件之一,即:
var dropDownList = $("#serviceAccounts").getKendoDropDownList();
dropDownList.trigger("change");
显示selector.trigger()和dropdownlist.trigger()之间差异的示例:
显示如何使用angular小部件引用而不是jQuery小部件引用触发更改事件的示例:
我担心,当您运行
setServiceAccountOptions()
时,小部件尚未初始化。可以发布完整的代码吗?setServiceAccountOptions()在数据可用时调用。我已经添加了相同的代码。谢谢你的回复!但是,$(“#服务帐户”).getKendoDropDownList();正在进行“未定义”。您必须在初始化期间而不是之后尝试触发事件…在kendo完成初始化之前,您无法获取对小部件的引用。在StService EnCopeTopStudio()中(当您试图在编辑之前触发事件)时,小部件不存在,因为DONTVOTEMDENATION指示了,因为这是在初始化代码的中间。因此,您需要做两件事:使用正确的语法获取对小部件的引用,并等待小部件完成初始化后再尝试引用它。感谢Stephen的回答