每个()中的索引值相同

时间:2014-09-09 08:51:33

标签: javascript jquery iteration

我正在编写一个脚本,它将使用索引值自动填充输入项。

到目前为止,我已经写过:

$('body').append($("<input>", {type: "button", id: "numeruj", value: "Numeruj"}));
var $numery = $('input[id*="FileDescriptionTextBox"]');


$("#numeruj").click(function(){
    $numery.each(function(index){
   $numery.val(index)
})
})

问题是每个项目都分配了相同的索引值,基本上是$ numery.length。 我无法弄清楚为什么每个项目都没有分配自己的索引。 有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:3)

您需要在每个区块内使用$(this)。关键字this指的是元素

使用

$("#numeruj").click(function() {
    $numery.each(function(index) {
        $(this).val(index); //You need to use this
    })
})

答案 1 :(得分:1)

因为您正在使用$ numery,所以当您在前一行定义时,它将为所有一个值设置索引。

在每个功能中使用$(this)代替$numery

$("#numeruj").click(function(){
    $numery.each(function(index){
      $(this).val(index)
    })
})