Знам, че вече има много публикации в SO по този въпрос. Но никой от тях не работи за моя случай.
Имам няколко избрани входа със следния формат за именуване:
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]
Така че, по принцип не работи нито по двата начина.
Може ли някой да ми помогне как да избягам от квадратните скоби.