0

我有一个像

for(int i = 0; i < 10; i++)
{
    <input type = "text" id="test"+i value="" onchange="getValue(i)">
}

我想使用 jquery 打印选定的文本框值。我试过下面的代码,......

function getValue(id)
{
   var value = $("#test"+id).val();
   alert(value);
}

上面的代码如何不起作用。如果我尝试过,var value = document.getElementById("test"+id);那么它正在工作。

4

2 回答 2

0

jsBin 演示

var inp = ''; // String will hold all inputs

for(var i=0; i<10; i++){
    inp += '<input type="text" id="test'+i+'" value="" />'; // Generate 10 inputs
}

$('body').append( inp ); // All inputs to HTML

$('input[id^="test"]').on('input', function(){
    console.log( this.value );
});
于 2013-09-10T16:15:58.627 回答
0
  1. 您不能只是将原始 HTML 放入这样的 JavaScript 循环中。您必须设置一个字符串或创建一个元素并将其附加到 DOM。

  2. "getValue(i)"是一个字符串。"i"不是变量i,它实际上是一个带有字母i的字符串。
    如果你想连接字符串和变量,你必须这样做:

var name = "Neil";    
var greeting = "Hi, my name is " + name + ", nice to meet you!";
于 2013-09-10T16:27:42.313 回答