我有一个动态的项目列表,这些项目将用于使用 AJAX 将信息发布到后端。
<a href="...">Item 1</a>
<a href="...">Item 2</a>
<a href="...">.....</a>
<a href="...">Item n</a>
我决定在每个项目上包含一个 css 类和一个隐藏输入,以便我可以轻松地分配处理程序(使用 css 类),并且我可以知道项目的 ID(使用隐藏字段)。
<a href="..." class="recorditem"><input type="hidden" value="1" name="ItemID"/>Item 1</a>
<a href="..." class="recorditem"><input type="hidden" value="2" name="ItemID"/>Item 2</a>
...
<a href="..." class="recorditem"><input type="hidden" value="n" name="ItemID"/>Item n</a>
然后使用 jQuery,我将拦截对链接的点击(该链接将转到非 javascript 用户的页面)以进行 POST。所以它看起来像这样:
$("a.recorditem").click(function(){
//get the item ID
var itemID = $(this + " :input[name='ItemID']").val(); <-- PROBLEM
//build a form dynamically - omitted for readability
var formToAdd = "<input type='text'.... "
//etc etc...
});
除了,我一生都无法弄清楚如何从其中的链接中提取隐藏输入字段的值。
我做错了什么? 更好的是,对于动态列表,这甚至是一种聪明的方法吗?