0

次のコードがあります

$(document).ready(function () {

    VerifyCustomerFilter();

    $("#ToDateStor").on("DateSet", function () {
       ...
    );

   function VerifyCustomerFilter() {
     if(toDate != "")     
       $("#ToDateStor").trigger('DateSet'); //This does not work
   }
}

関数 'VerifyCustomerFilter ()' 内にある条件が true の場合、作成したカスタム イベントをトリガーできません。

しかし、DatePicker のイベント内でイベントをトリガーすると、完全に機能します。

 $("#calTo").datepicker({
      showButtonPanel: false,
      onClose: function (dateText, inst) {
          var ToDate = $(this).val().toString();
          $('#ToDateStor').html(ToDate).trigger('DateSet'); // This works!
      }
 });

また、すでに使用してみtriggerHandler()ました。

私は何を間違っているべきですか?

4

2 に答える 2

5

リスナーを要素にバインドする前にイベントをトリガーしています。

$(document).ready(function () {
    // add the listener
    $("#ToDateStor").on("DateSet", function () {
       ...
    });

    // define the function
    function VerifyCustomerFilter() {
        if(toDate != "")     
            $("#ToDateStor").trigger('DateSet'); //This does not work
        }
     }

     // call the function
     VerifyCustomerFilter();
});
于 2015-02-12T13:59:00.450 に答える
1
$(document).ready(function () {

 function VerifyCustomerFilter() {
     if(toDate != "")     
       $("#ToDateStor").trigger('DateSet'); //This should work now
   }


    $("#ToDateStor").on("DateSet", function () {
       ...
    );
  //First bind the event,then call it
    VerifyCustomerFilter();

}

イベントをバインドする前に、関数を呼び出していました。

于 2015-02-12T13:59:10.923 に答える