Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

navGridのフィルタダイアログのテキストボックスを捕まえる(jqGrid)

こんばんは、ishida(@kojiisd)です。

今回はちょっとした小ネタ、というか力技の紹介です。
#こういう会もあった方が良いでしょ。
またまたjqGridに関する記事ですが、気にせず書きます。

navGridを使うと表示できるフィルタリングのダイアログですが、
その時に表示されるダイアログボックスをjQueryで捕まえたいと思います。

やり方

以下のコードを組めば、捕まえることが可能です。navGridのオプションとして、
beforeShowSearchを実装します。

beforeShowSearch: function(){
  $('input:text').click(function(){
    alert("フィールドがクリックされました。");
  });
}

結局は表示しているテキスト自体もテキストタイプのinputタグだったので上記で捕まえられます。
#jqGridのソースを見ると、そうっぽいです。

ただし、1点注意です。このままだとすべてのテキストタイプのinputタグに
alert処理が走ってしまいます。onCloseでunbindしてあげましょう。

onClose: function(){
  $('input:text').unbind('click');
}

個人的にはもっとうまい方法を探しているのですが、何か知っている方いましたら、
ぜひ教えてください。


ではでは。