簡體   English   中英

使用jQuery.validate進行Select2設置未定義錯誤

[英]Select2 settings undefined error with jquery.validate

我使用Select2作為下拉菜單。 即使單擊內部下拉菜單,我也會收到以下錯誤:

在此處輸入圖片說明 僅當我在窗體外部使用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>

在Select2示例中,您是否嘗試過這種方法,所以它們使用類來定義選定的選項,因為jQuery可能將ID屬性用於其他用途。

另外,標簽通常與輸入字段具有相同的ID。

“檢查”圖像顯示JavaScript / jQuery代碼生成了六(6)個錯誤。

在此處輸入圖片說明

至少有兩(2)個錯誤歸因於有關“設置”的TypeError。 由於此代碼未包含在原始帖子中,因此很難通過提供的信息來診斷您的問題。

查看“檢查”顯示的錯誤診斷信息,並進行代碼更改以避免這些錯誤。

如果不是這種情況,我不是100%,但是當表單包含動態添加的元素(不是由jQuery.validate .validator初始化(未設置Validator屬性/對象))時,會發生此錯誤。 然后,作為驗證過程的一部分,訪問新元素的.validator對象的.settings屬性,但不存在。 我建議立即在向DOM添加任何新元素之后立即嘗試在表單上運行.validate()方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM