2016-11-07 142 views
1

我試圖使用下面的代碼來設置我的Kendo dropdownList的值,並期望「更改」事件被提出,但事實並非如此。有人可以請幫助。Kendo下拉列表觸發器更改事件

根據要求添加了附加代碼。

HTML代碼

<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> 

先謝謝了!

+0

恐怕當你運行'setServiceAccountOptions()'小部件還沒有初始化。你能發佈你的完整代碼嗎? – DontVoteMeDown

+0

setServiceAccountOptions()在數據可用時調用。我已經添加了相同的代碼。 – tt0206

回答

1
$("#serviceAccounts").trigger("change"); 

不會觸發劍道的DropDownList的「改變」事件,因爲

$("#serviceAccounts") 

是不是你的劍道的DropDownList ......它只是一個jQuery選擇。

你需要得到實際的DropDownList的引用,然後才能觸發它的事件之一,即:

var dropDownList = $("#serviceAccounts").getKendoDropDownList(); 
dropDownList.trigger("change"); 

範例顯示selector.trigger之間)和dropdownlist.trigger)差((: http://dojo.telerik.com/@Stephen/UxiLo

實施例示出了如何使用角插件引用,而不是jQuery的插件參考觸發改變事件: http://dojo.telerik.com/@Stephen/IToFI

+0

感謝您的回覆!但是,$(「#serviceAccounts」)。getKendoDropDownList();即將到來「未定義」。 – tt0206

+0

在*初始化期間,您必須嘗試觸發事件*,而不是在*之後觸發事件*,直到kendo完成初始化爲止,您無法獲得對小部件的引用。在setServiceAccountOptions()期間(您在編輯之前試圖觸發事件的過程中),該小部件不存在,因爲DontVoteMeDown指示,因爲它正好在初始化代碼的中間。因此,您需要做2件事:使用正確的語法來獲取對小部件的引用,並等待小部件完成初始化,然後再嘗試引用它。 –

+0

謝謝Stephen的回答 – tt0206

相關問題