2011-11-14 20 views
2

JQGridツールバーにDatepickerフィルターを追加しようとしています。日付フィルタをクリックすると、Datepickerが表示されても問題はありませんが、日付を選択すると何も起こりません。私が選んだ日付は、ツールバーのフィルターには表示されず、呪われても検索は実行されません。 私は何かを見逃しましたか?あなたの助けを事前にJqGrid、DatePicker選択時にツールバーの値がありません

colModel: [      
    { name: 'Period', index: 'Period', align: 'left', formatter: 'date', 
     search: true, 
     searchoptions: { 
     dataInit: function (el) { 
      $(el).datepicker({ 
       changeYear: true, 
       changeMonth: true, 
       showButtonPanel: true, 
       dateFormat: 'dd-mm-yy', 
       onSelect: function(dateText, inst) { 
        $("#grid_id")[0].triggerToolbar(); 
       } 
      }); 
     } 
    }} 
] 

ありがとう: はここに私のコードです!

答えて

2

検索ツールバーの問題は、onSelectコールバックのコードが早すぎて実行される可能性があることです。だから、別のスレッドでコードを開始し、現在の作業が終了するまで行うことができるようにする必要があります

colModel: [      
    { name: 'Period', index: 'Period', align: 'left', formatter: 'date', 
     search: true, 
     searchoptions: { 
     dataInit: function (el) { 
      $(el).datepicker({ 
       changeYear: true, 
       changeMonth: true, 
       showButtonPanel: true, 
       dateFormat: 'dd-mm-yy', 
       onSelect: function() { 
        if (this.id.substr(0, 3) === "gs_") { 
         // call triggerToolbar only in case of searching toolbar 
         setTimeout(function() { 
          $("#grid_id")[0].triggerToolbar(); 
         }, 100); 
        } 
       } 
      }); 
     } 
    }} 
] 

テスト私たちが使用しようとしていないことを確認するために挿入され、現在<input>フィールドのidためtriggerToolbar検索ダイアログで私はより複雑な検索要求のために簡単な検索のための検索ツールバーをadvanced searchingと組み合わせることができます。

関連する問題