jquery – 按名称引用输入?

我的表单字段的名称是contact [0] [state],我试图通过jquery引用它来设置一个默认值,但它不起作用,我想知道它是否因为括号不起作用?

我尝试着:

$('input[name=concat[0][state]]').val('NY'); 

没关系,你缺少引号(“)。

试试这个:

 $('input[name="concat[0][state]"]').val('NY'); 

我知道括号将是一个问题作为一个ID,但作为一个属性,它应该工作得很好,只要它们在引号中。

添加更多信息,您也可以转义括号,但您仍然必须将它们保留在引号中。

 $('input[name="concat\\[0\\]\\[state\\]"]').val('NY'); 

你需要双重大括号:

 $("input[name=concat\\[0\\]\\[state\\]]").val(''); 

编辑:这似乎在jQuery 1.4.4中被破坏了 ,但它在1.4.3中有效 。