2010-05-12 66 views
1

我在页面上动态地构建多个表单(类似Facebook上的新闻订阅源,每个订阅源都有一个文本框并提交按钮)。使用jQuery的表单的范围

所以各供我建立(使用Python)以下形式:

<form> 
<input type="text"> 
<input type="hidden" id="feednum" value=FEED_NUM> 
<input type="button" class="btnSubmit" value="submit"> 
</form> 

我使用jQuery捕捉提交事件:

$(".btnSubmit").submit(function() { 
... Call Ajax ... }); 

我的问题是如何获得提交表格的正确范围(即附加的“feednum”隐藏值,以便我可以知道哪个表单实际上已提交并将此号码发送给Ajax)

谢谢

乔尔

回答

1

您可以将事件附加到您的形式:

$(".btnSubmit").closest('form').submit(function() { 
    var id = $(this).find('.feednum').val(); 
    //... Call Ajax ... 
}); 

通知你应该改变ID类:具有相同ID的多个元素是无效的。

如果你想保持绑定到按钮时,您可以使用:

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

或不太有力:$(this).prev().val()

+0

非常感谢!很有帮助 – Joel 2010-05-12 11:04:19