Javascript jquery-1.10.2.js:1472未捕获错误:语法错误,无法识别的表达式:label[for='team[]',label[for='team[]',]*,team[]-错误
我在select元素和jqueryvalidate插件中使用multiselectjs插件来验证表单元素 我知道这是因为select element name属性中的“[]”导致了此错误,但我想启用多个选择 当我删除“[]”时,它工作正常 这是我的HTML:Javascript jquery-1.10.2.js:1472未捕获错误:语法错误,无法识别的表达式:label[for='team[]',label[for='team[]',]*,team[]-错误,javascript,jquery,jquery-validate,bootstrap-multiselect,Javascript,Jquery,Jquery Validate,Bootstrap Multiselect,我在select元素和jqueryvalidate插件中使用multiselectjs插件来验证表单元素 我知道这是因为select element name属性中的“[]”导致了此错误,但我想启用多个选择 当我删除“[]”时,它工作正常 这是我的HTML: <div class="form-group"> <label class="col-sm-4 control-label" for="internal_team">Team <span class="
<div class="form-group">
<label class="col-sm-4 control-label" for="internal_team">Team <span class="input-required">*</span></label>
<div class="col-sm-7">
<select name="team[]" class="form-control multiselect-ui" multiple>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</div>
</div>
我如何解决这个问题??
非常感谢您的帮助。谢谢。您必须转义[],因为jQuery认为它是一个属性选择器
$label[for='team[]',label[for='team[]']*,team[]-错误
应该是
$label[for='team[]',label[for='team[]']*,team\\[\]-错误
演示
$label[for='team[]',label[for='team[]']*,team\\[\]-错误
您是否尝试过分配id以选择标记并使用multiselect方法检索值
您必须避开[]like team\[\]-error使用jQuery验证插件命名多个元素时不能使用空数组。你必须使用索引。。。团队[0]、团队[1]、团队[2]等等,但我猜这个表达式是由插件本身生成的。。我如何控制它?为什么不从name=team[]中删除[],它将不会存储多个选定选项。@Azima您可以创建一个显示问题的代码段吗?
rules:
{
"team[]": "required"
},
messages:
{
"team[]": "Please select team",
}
<select name="team[]" class="form-control multiselect-ui" id="team" multiple="multiple">
$('#team').multiSelect()