使用jquery.validate选择2设置未定义错误

时间:2017-02-27 14:54:36

标签: javascript jquery html validation

我使用Select2作为我的下拉列表。即使我在下拉列表中单击,我也会收到以下错误:

enter image description here 只有在我的表单中使用select2时才会出现此错误,在表单正常工作之外。

这是我的代码:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/jquery.validate.min.js"></script>
    <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
    <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>

<script type="text/javascript">
    $("#ddlUsers").select2();
</script>
<form class="form-horizontal">
    <div class="form-group">
          <label class="col-sm-2 control-label">Add User</label>
          <div class="col-sm-10">
               <select id="ddlUsers" class="form-control" multiple="multiple">
                   <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                </select>
           </div>
     </div>
     <div class="form-group">
           <div class="col-sm-offset-2 col-sm-10">
               <button type="button" onclick="onAddclick();return false;" class="btn btn-primary">Add User</button>
            </div>
      </div>
</form>

3 个答案:

答案 0 :(得分:0)

在Select2示例中,他们使用类来定义所选的选项,您尝试了这种方法,因为jQuery可能正在使用ID属性来处理其他事情。

此外,您的标签通常与其输入字段具有相同的ID。

答案 1 :(得分:0)

&#34;检查&#34;该图显示JavaScript / jQuery代码生成了六(6)个错误。

enter image description here

至少有两(2)个错误是由于关于&#34;设置&#34;的TypeError引起的。由于此代码未包含在原始帖子中,因此很难使用所提供的信息诊断您的问题。

查看&#34; Inspect&#34;所显示的错误诊断信息。并更改代码以避免这些错误。

答案 2 :(得分:0)

如果是这种情况,我不是100%,但是当表单包含动态添加的元素时,可能会发生此错误,这些元素未由jQuery.validate .validator初始化(validator属性) / object未设置)。然后,作为验证过程的一部分,访问新元素的.validator对象的.settings属性,但它不存在。我建议尝试在窗体上运行.validate()方法,并在向DOM添加任何新元素之后立即运行。