我想使用以下 jquery 代码选择名称为 studentid[1] 的文本框的值:
var id = 1;
var a = $("input[type='text'][name='studentid\["+id+"\]").val();
它在警告框中产生“未定义”的输出。我的语法正确吗?
您已经省略了结束单引号和结束方括号。这是正确的版本,在适当的地方带有双反斜杠:
var a = $("input[type='text'][name='studentid\\["+id+"\\]']").val();
我认为这将在 JsFiddle 上工作 Demo
var id = 1;
var a = $("input[type=text][name=studentid["+id+"]]").val();
alert(a);
尝试使用两个反斜杠。根据 jQuery文档:
如果您希望使用任何元字符(例如 !"#$%&'()*+,./:;<=>?@[]^`{|}~ )作为 a 的文字部分名称,您必须使用两个反斜杠转义字符:\。
[
and]
需要 2 个反斜杠来转义它们,而且您还缺少属性选择器的关闭]
。
var id = 1;
var a = $("input[type='text'][name='studentid\\["+id+"\\]']").val();
是的,那里有几个语法错误。您忘记插入尾括号和引号。此外,转义括号没有特殊需要。此代码工作正常:
$(":text[name='studentid[" + id + "]']").val();
演示:http: //jsfiddle.net/jW2MR/
这是你想要的吗? http://jsfiddle.net/J5jN8/
var id =1;
$('input[type=text][name="A['+ id +']"]');