Флажок Kendo Template не запускает событие клика

Я использовал шаблон кендо следующим образом:

<script type="text/javascript" src="@Url.Content("~/Scripts/Module/Analysis/CreateMaintainAnalysis.js")"></script>
    <script type="text/x-kendo-template" id="Modeltemplate">
        <div class="section group fr">
            <div class="col span_2_of_12">
                #if(ACTIVE_MODELS_COUNT > 0){# <input class="ModelCheckBox"  type="checkbox"  checked/>#} else {# <input class="ModelCheckBox" type="checkbox" unchecked/>  #}#
            </div>
            <div class="col span_4_of_12"><label>#:MODEL#</label></div>
        </div>
      </script>

и я хочу написать событие клика на CheckBox Click следующим образом:

$("#ModelListView").kendoListView({
    template: kendo.template($("#Modeltemplate").html())
});

     $(".ModelCheckBox").click(function () {
        if (this.checked) { alert("Checked"); }
         });

1 ответ

Решение

Скорее всего, обработчик щелчков прикреплен слишком рано, до того как ListView будет привязан к данным, поэтому флажки по-прежнему не отображаются. У вас есть два варианта -

  1. Выполните код ниже в dataBound событие ListView.

    http://docs.telerik.com/kendo-ui/api/javascript/ui/listview

    $(".ModelCheckBox").click(function () {
       if (this.checked) { alert("Checked"); }
    });
    
  2. Используйте делегата, который прикреплен к ListView <div>

    $("#ModelListView").on("click", ".ModelCheckBox", function () {
       if (this.checked) { alert("Checked"); }
    });
    
Другие вопросы по тегам