我在访问元素以验证它时遇到了麻烦。
例如,如果我从数据库生成动态表,并且我有一个看起来像这样的代码:
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()
,但它也没有用。
答案 0 :(得分:1)
javascript似乎将“#quantity [i]”视为一个字符串
没错。 "#quantity[i]"
是字符串; Javascript不会查看碰巧命名变量的字符串部分。
当你在最后尝试时,你需要将值连接到你的字符串中。<
但是,您还需要在括号中连接;你连接#quantity1
,这不是你正在寻找的字符串。
您还需要转义括号,否则jQuery会将它们解析为属性选择器。
答案 1 :(得分:0)
试试这个
var ival=$('#i').val();
$('#quantity\\[' +ival+'\\]').val()
答案 2 :(得分:0)
我认为你正在混合javascript变量和PHP变量。
PHP变量在变量名称之前带有'$'。
如果你想得到输入的值,你必须使用PHP变量,没有像你使用的字母“我”。
你必须像rahul maindargi那样回答它应该有用。