1

我无法访问一个元素来验证它。

例如,如果我从数据库生成一个动态表,并且我有一个看起来像这样的代码:

i=0;

while($row as values){

    <input type='text' id='quantity[$i]' name='quantity[$i]' value=''>
    <input type='text' id='quantity_req[$i]' name='quantity_req[$i]' value=''>

    $i++;
}
<input type='hidden' id='i' name='i' value='$i'>

我可以$('#i').val()用来获取 i 的值,但是如何获取文本字段的值?

$('#quantity[i]').val();并且$('#quantity[i]').val();不起作用,javascript 似乎将“#quantity[i]”视为一个字符串,即使我通过 for 循环给了 'i' 一个值。

我也尝试过$('#quantity' +i).val(),但它也不起作用。

4

3 回答 3

1

javascript 似乎将“#quantity[i]”视为一个字符串

这是正确的。"#quantity[i]" 一个字符串;Javascript 不会查看碰巧命名变量的字符串部分。

您需要在最后尝试时将值连接到字符串中
但是,您还需要在括号中连接;你 concatenated #quantity1,这不是你要找的字符串。

您还需要转义括号,否则 jQuery 会将它们解析为属性选择器。

于 2013-04-29T14:40:44.117 回答
0

我认为您正在混合使用 javascript 变量和 PHP 变量。

PHP 变量在变量名前带有'$'。

如果您想获得输入的值,您必须使用 PHP 变量,不要像您使用的那样使用字母“i”。

您必须像 rahul maindargi 一样回答它,它应该可以工作。

于 2013-04-29T14:48:34.380 回答
0

尝试这个

var ival=$('#i').val();
$('#quantity\\[' +ival+'\\]').val()
于 2013-04-29T14:42:57.827 回答