我有一个像
这样的场景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);
那么它就可以了。
答案 0 :(得分:0)
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 );
});
答案 1 :(得分:0)
您不能只是将原始HTML放在JavaScript循环中。您必须设置字符串或创建元素并将其附加到DOM。
"getValue(i)"
是一个字符串。 "i"
不是变量i
,它实际上是一个字母 i 的字符串。
如果要连接字符串和变量,则必须这样做像这样:
var name = "Neil";
var greeting = "Hi, my name is " + name + ", nice to meet you!";