2

jQuery v1.7.2

在用户从下拉列表中进行选择后,我正在向屏幕添加元素。我正在使用 .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);

提交表单后,我需要遍历每个隐藏字段并获取它们的值和当前顺序(用户可以在页面上上下移动它们)。我正在尝试使用 .index() 执行此操作:

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

当我运行此代码时,该值很好,但索引始终为 0。我尝试将其全部包装

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

但这也没有用。

是我做错了什么,还是因为我附加了元素而发生这种情况?

4

1 回答 1

3

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

.each(函数(索引,元素))

$('#sortable input:hidden[id^="hidden_"]').each(function(index){
    alert(this.value);
    alert(index);
});
于 2012-08-30T20:18:02.577 回答