使用表单 ID 进行 jQuery 初始化



我正在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?

像这样的事情呢:

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

你可以尝试这样的事情:

$(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);
});

感谢您的回答。但是,我找到了另一种解决方法,方法是直接在脚本中设置表单 ID #(cc.attrs.formId)。

最新更新