Javascript jquery-1.10.2.js:1472未捕获错误:语法错误,无法识别的表达式:label[for='team[]',label[for='team[]',]*,team[]-错误

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="

我在select元素和jqueryvalidate插件中使用multiselectjs插件来验证表单元素

我知道这是因为select element name属性中的“[]”导致了此错误,但我想启用多个选择

当我删除“[]”时,它工作正常

这是我的HTML:

<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()