【问题标题】:jquery-1.10.2.js:1472 Uncaught Error: Syntax error, unrecognized expression: label[for='team[]'], label[for='team[]'] *, #team[]-error [duplicate]jquery-1.10.2.js:1472 未捕获错误:语法错误,无法识别的表达式:label[for='team[]'],label[for='team[]'] *,#team[]-error [duplicate]
【发布时间】:2018-04-12 03:58:40
【问题描述】:

我在 select 元素中使用 multiselect js 插件和 jquery validate 插件来验证表单元素。

我知道这是因为 select 元素 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 验证:

rules: 
{
   "team[]": "required"
},
messages:
{
     "team[]": "Please select team",
}

我该如何解决这个问题? 很感谢任何形式的帮助。谢谢。

【问题讨论】:

  • 你必须像#team\[\]-error一样转义[]
  • 你不能有一个空数组来使用 jQuery Validate 插件命名多个元素。您必须使用索引...team[0]、team[1]、team[2] 等。

标签: javascript jquery jquery-validate bootstrap-multiselect


【解决方案1】:

您是否尝试过分配一个 id 来选择标签并使用 multiselect 方法检索值?

<select name="team[]" class="form-control multiselect-ui" id="team" multiple="multiple">

$('#team').multiSelect()

【讨论】:

    【解决方案2】:

    您必须转义 [],因为 jQuery 认为它是一个属性选择器。

    $("label[for='team[]'], label[for='team[]'] *, #team[]-error")

    应该是

    $("label[for='team[]'], label[for='team[]'] *, #team\\[\\]-error")

    演示

    $("label[for='team[]'], label[for='team[]'] *, #team\\[\\]-error")
    &lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;

    【讨论】:

    • 但我猜这个表达式是由插件本身生成的。我该如何控制它?
    • 为什么不从name="team[]"中删除[]
    • 那么它不会存储多个选定的选项..
    • @Azima 你能创建一个显示问题的sn-p吗?
    猜你喜欢
    • 1970-01-01
    • 2015-10-12
    • 2017-11-24
    • 2013-10-10
    • 2017-06-06
    • 2019-02-18
    • 2015-11-13
    • 1970-01-01
    • 2015-10-08
    相关资源
    最近更新 更多