2011-01-31 120 views
4

我的表单字段的名称是联系[0] [状态],我试图引用它通过jquery设置默认值,但它不工作,我想知道如果它不工作,因为括号?jquery - 参考输入名称?

我想:

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

回答

12

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

试试这个:

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

我知道支架是作为一个问题ID,但作为一个属性它应该只是罚款,只要他们在报价工作。

增加更多的信息,你也可以跳过括号,但是你必须保留它们的引号。

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

您需要双击逃避括号:

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

编辑:这似乎是broken in jQuery 1.4.4,但it works in 1.4.3

+0

如果它是一个ID,那么会是这种情况,但作为一个属性的值,如果它包含在引号中,它应该没问题。 – Victor 2011-01-31 19:01:00