我正在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)。