我知道关于这个问题已经有很多关于SO的帖子。但他们都不适合我的情况。jQuery - 获取名称属性中方括号的错误
我受够了如下命名格式,多重选择输入:
select name="violationCategory[${theCount.count-1}].subCategory"
它转换为是这样的:
select name="violationCategory[0].subCategory"
select name="violationCategory[1].subCategory"
.. so on
我已经对这些选择输入,如果一些应用特定类条件得到满足。 所以,我尝试用一些替代方括号中是这样的:
if(key.indexOf("[") >= 0){
key = $.trim(key).replace("name=^[","name=^\\[");
key = $.trim(key).replace("].","\\].");
alert(key);
$("#" + formId + " select[name=" + key + "]").addClass('inputBoxError');
}
警报打印:
violationCategory[1\].subCategory]
,我得到的错误:
Uncaught Error: Syntax error, unrecognized expression: #referralViolationForm select[name=violationCategory[1\].subCategory]
当我更改代码到:
key = $.trim(key).replace("].","\].");
个警报打印:
violationCategory[1].subCategory]
,我得到的错误:
Uncaught Error: Syntax error, unrecognized expression: #referralViolationForm select[name=violationCategory[1].subCategory]
所以,基本上它的工作原理没有办法。
任何人都可以帮我解决如何摆脱方括号。
+1虽然,但我想OP在说话关于选择输入,所以'select [name =“violationCategory [1] .subCategory”]''? – PSL
感谢您的意见。改变单引号的位置对我有效:$(“#”+ formId +“select [name ='”+ key +“']”)。addClass('inputBoxError'); – tarares
@PSL我的坏!我相应地更新了我的问题和答案! – tarares