1

我想使用以下 jquery 代码选择名称为 studentid[1] 的文本框的值:

var id = 1;
var a = $("input[type='text'][name='studentid\["+id+"\]").val(); 

它在警告框中产生“未定义”的输出。我的语法正确吗?

4

7 回答 7

2

您已经省略了结束单引号和结束方括号。这是正确的版本,在适当的地方带有双反斜杠:

var a = $("input[type='text'][name='studentid\\["+id+"\\]']").val();
于 2012-05-18T18:30:32.303 回答
1

我认为这将在 JsFiddle 上工作 Demo

var id = 1;
var a = $("input[type=text][name=studentid["+id+"]]").val(); 
alert(a);
于 2012-05-18T18:28:55.590 回答
1

尝试使用两个反斜杠。根据 jQuery文档

如果您希望使用任何元字符(例如 !"#$%&'()*+,./:;<=>?@[]^`{|}~ )作为 a 的文字部分名称,您必须使用两个反斜杠转义字符:\。

于 2012-05-18T18:31:58.630 回答
1

[and]需要 2 个反斜杠来转义它们,而且您还缺少属性选择器的关闭]

var id = 1;
var a = $("input[type='text'][name='studentid\\["+id+"\\]']").val(); 
于 2012-05-18T18:35:10.547 回答
1

是的,那里有几个语法错误。您忘记插入尾括号和引号。此外,转义括号没有特殊需要。此代码工作正常:

$(":text[name='studentid[" + id + "]']").val();

演示:http: //jsfiddle.net/jW2MR/

于 2012-05-18T18:35:31.193 回答
1

这是你想要的吗? http://jsfiddle.net/J5jN8/

于 2012-05-18T18:36:02.193 回答
1
var id =1;
$('input[type=text][name="A['+ id +']"]');
于 2012-05-18T18:44:49.277 回答