2
我试图确定窗体中的任何一组命名输入/选择/无线电/选中/隐藏字段的更改。jQuery捕获窗体上的命名输入的所有更改
特别是,我想捕获任何与jQuery的选择器$("form :input")
匹配的字段的更改,并且该输入具有name
属性。但是,表单不是静态的,即稍后会动态添加一些字段。
我最初的想法是跟踪在加入新命名的元素匹配:input
的,然后添加一个事件处理程序,如下所示:
function on_change() {
alert("The form element with name " + $(this).attr("name") + " has changed");
}
function reg_new_e_handler(input_element) {
input_element.change(on_change);
}
不过,我很希望我能避免这种情况一些jQuery的魔力。尤其是有一个注册在jQuery的事件处理程序,将处理符合以下条件的输入元素的方法:
$("form :input").filter(function() { $(this).attr("name") }).change(on_change);
然而,有这样的活动集更新,只要添加新的输入元素。
我认为这是可能的form
节点上捕捉keyup
事件与$("form").keyup(on_change)
,但我不是很确定一个能捕捉怎么事件change
。
我也想这样捕获keyup
事件。
谢谢您的阅读。
布赖恩
你可以这样做:输入[name]来获取所有命名的元素。 – 2010-06-10 22:47:11
是的,'$(':input [name]')。live('onkeyup',foo);'按预期工作。这真是太酷了! – 2010-06-11 01:26:33