JQuery:使用.append()添加元素的.index()

时间:2012-08-30 20:14:27

标签: jquery indexing append

JQuery v1.7.2

我在用户从下拉菜单中进行选择后,会在屏幕上添加元素。我正在做这个w / .append():

var html = '<li><input type="hidden" name="hidden_' + ID + '" id="hidden_' + ID + '" value="' + ID + '"/><p>' + Name + '<a href="#" onClick="remove($(this));">Close</a></p></li>'
$('#sortable').append(html);

提交表单时,我需要浏览每个隐藏字段并获取其值和当前顺序(用户可以在页面上下移动它们)。我想用w / .index()来做这个:

$('#sortable input:hidden[id*="hidden_"]').each(function(){
    alert($(this).val());
    alert($(this).index());
}); 

当我运行此代码时,该值正常,但索引始终为0.我尝试将其全部包装在

$(function () {
    $("#create").on("submit", function (event) {
    });
});

但这也不起作用。

我有什么问题,或者这是因为我附加了元素吗?

1 个答案:

答案 0 :(得分:3)

each函数的第一个参数是当前循环的索引

  

.each(function(index,Element))

$('#sortable input:hidden[id^="hidden_"]').each(function(index){
    alert(this.value);
    alert(index);
});