Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将jQuery事件处理程序绑定到多个类似表单_Javascript_Jquery_Events_Event Handling - Fatal编程技术网

Javascript 将jQuery事件处理程序绑定到多个类似表单

Javascript 将jQuery事件处理程序绑定到多个类似表单,javascript,jquery,events,event-handling,Javascript,Jquery,Events,Event Handling,我有一个包含多个类似元素的html页面,这些元素可以就地编辑: The Title Some description Count 10 [Edit] Another Title Another description Count 54 [Edit] ... 如果单击编辑按钮,文本将通过Ajax替换为表单(页面的其余部分将不会重新加载): 用表单替换文本和提交表单的事件处理程序对于所有项几乎都是相同的。我的第一种方法是在html标记中使用ID,并将jQuery事件处理程序绑定到此ID。但这会

我有一个包含多个类似元素的html页面,这些元素可以就地编辑:

The Title
Some description
Count 10
[Edit]

Another Title
Another description
Count 54
[Edit]

...
如果单击编辑按钮,文本将通过Ajax替换为表单(页面的其余部分将不会重新加载):

用表单替换文本和提交表单的事件处理程序对于所有项几乎都是相同的。我的第一种方法是在html标记中使用ID,并将jQuery事件处理程序绑定到此ID。但这会导致重复代码。因此,显而易见的想法是不要为每个项目重复类似的代码


如何区分事件处理程序中的项目,以便用表单替换正确的项目并提交正确的表单?

在事件处理程序中,
指单击的特定元素

$('.classYouPutOnAllEditButtons').click(function () {
    var that = $(this); // this variable now holds a reference to the Edit button that was clicked, you can use a traversal method (e.g. closest()) to find the form it was in
    // do your other stuff
});
$(yourSelector).bind('event', function () {
    // in here, `this` will be the Edit button.
});

在事件处理程序中,
引用单击的特定元素

$(yourSelector).bind('event', function () {
    // in here, `this` will be the Edit button.
});