0

JSFでコンポジットコンポーネントを使用していますが、使用する必要のあるJavaScriptに関する問題が発生しました。私は次のスクリプトを持っています:

$(document).ready(function() {
   $("#form_test\\:text_auto").bind("keyup",function() {
      setTimeout(function() {
         send_ajax();
      }, 500);
   });
});

これをさまざまな場所で、さまざまなフォームIDを使用して、prependId=falseではなく使用できるようにするため。どういうわけか、フォームID(この例では「form_test」)を使用してスクリプトを初期化する必要があります。

jQueryを使用して「keyup」などのイベントをバインドするとうまくいくので、可能であれば、そのメカニズムを引き続き使用したいと思います。どういうわけかフォームIDを動的に設定することは可能ですか?

4

3 に答える 3

0

次のようなものを試すことができます:

$(document).ready(function() {
   $("form\\:text_auto").bind("keyup",function() {  // this will apply for each form tag
    // if you need something from the form use $(this) variable  
    setTimeout(function() {
        send_ajax();
    }, 500);
});
于 2012-12-18T10:45:47.353 に答える
0

回答ありがとうございます。ただし、スクリプトでフォーム ID #(cc.attrs.formId) を直接設定することで解決する別の方法を見つけました。

于 2012-12-18T15:13:02.637 に答える
0

このようなものはどうですか:

$(document).ready(function() {
   bindKeyupOnForm("form_test");
});

function bindKeyupOnForm(formId) {
    $("#" + formId + "\\:text_auto").bind("keyup",function() {
        setTimeout(function() {
            send_ajax();
        }, 500);
    });
}
于 2012-12-18T10:46:11.187 に答える