Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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
使用jQuery的表单范围_Jquery - Fatal编程技术网

使用jQuery的表单范围

使用jQuery的表单范围,jquery,Jquery,我在一个页面上动态构建了几个表单(有点像facebook上的新闻提要,每个提要都有一个文本框和提交按钮) 因此,对于我正在(使用Python)构建的每个提要,都有以下表单: <form> <input type="text"> <input type="hidden" id="feednum" value=FEED_NUM> <input type="button" class="btnSubmit" value="submit"> </fo

我在一个页面上动态构建了几个表单(有点像facebook上的新闻提要,每个提要都有一个文本框和提交按钮)

因此,对于我正在(使用Python)构建的每个提要,都有以下表单:

<form>
<input type="text">
<input type="hidden" id="feednum" value=FEED_NUM>
<input type="button" class="btnSubmit" value="submit">
</form>
我的问题是如何获得提交表单的正确范围(即附加的“feednum”隐藏值,这样我就可以知道哪个表单是真正提交的,并将这个数字发送给Ajax)

谢谢


Joel

您可以将事件附加到表单中:

$(".btnSubmit").closest('form').submit(function () {
    var id = $(this).find('.feednum').val();
    //... Call Ajax ... 
});
请注意,您应该将ID更改为class:具有相同ID的多个元素是无效的

如果要将事件绑定到按钮,可以使用:

var id = $(this).closest('form').find('.feednum').val();

或者,不太可靠:
$(this).prev().val()

您可以将事件附加到表单:

$(".btnSubmit").closest('form').submit(function () {
    var id = $(this).find('.feednum').val();
    //... Call Ajax ... 
});
请注意,您应该将ID更改为class:具有相同ID的多个元素是无效的

如果要将事件绑定到按钮,可以使用:

var id = $(this).closest('form').find('.feednum').val();
或者,不太可靠:
$(this).prev().val()