【问题标题】:kendo dropDownList onclick of text change event not firingkendo dropDownList onclick 文本更改事件未触发
【发布时间】:2015-01-29 22:33:21
【问题描述】:

我正在使用剑道 UI。 我有一个复选框的下拉列表。 当用户单击复选框时会触发 onchange 事件。但是当用户点击文本时,事件并没有触发。

提前感谢您的帮助! -Sai。

<script type="text/x-kendo-template" id="CheckboxTemplate">
    <li unselectable="on" class="k-item nowrap check-item">
        <input type="checkbox" name="#= text #" value="#= value #" class="check-input showcolname" checked />
        <span>#= text #</span>
     </li>
</script>


function populateDropdown() {           
        dropdown = $("#dropDownList").kendoDropDownList({
           dataTextField: "text",
           dataValueField: "value",
           template: $("#CheckboxTemplate").html(),
           dataSource: displayColumns,             
           placeholder: "Select...",
            select: function(e) {
                e.preventDefault();
            }
       }).data("kendoDropDownList");

        dropdown.list.width(250);

        dropdown.list.find(".check-input,.check-item").bind("click", function(e) {
            var $item = $(this);
            var $input;         
            if($item.hasClass("check-item")) {
                // Text was clicked
                $input = $item.children(".check-input");
                $input.prop("checked", !$input.is(':checked'));
            } else {
                // Checkbox was clicked
                $input = $item;                                   
            }                                    
            // Check all clicked?
            if($input.val() == "") dropdown.list.find(".check-input").prop("checked", $input.is(':checked'));
            syncColumns();

            e.stopImmediatePropagation();
        });

    }

函数syncColumns(){

 $('.showcolname').each(function() {
              $(this).change(function(event) {
                   event.preventDefault();
                   var val = $(this).val();
                   var url = "${rootContext}${MyUrl}/"+val+"/"+this.checked;
                   var beforeSendCallBack = function() {};
                   var successCallback = function(data) {};
                   submitPost(url, beforeSendCallBack, successCallback, '','');
                  });
          });                   

}

【问题讨论】:

    标签: javascript jquery checkbox kendo-ui


    【解决方案1】:

    然后,您使用 Jquery 道具方法输入更改选中的属性不会触发更改事件。因此,您必须使用 Jquery 触发器手动触发它。有关更多信息,请查看此question。另外你必须在触发它之前注册事件绑定,或者使用 Jquery。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      相关资源
      最近更新 更多