2017-06-20 80 views
0

我有一個ASP.net MVC項目。我所有的DropDownListFor的顯示爲2盒,而不是1。這是圖什麼樣子目前:ASP MVC Bootstrap - Select2 DropDownListFor顯示重複框

enter image description here

這是視圖應該是什麼樣子:

enter image description here

這裏從代碼中查看:

<div class="col-xs-12 col-sm-6 col-md-4 "> 
     <div class="form-group select-280"> 
      @Html.LabelFor(model => model.HoleID) 
      <br /> 
      @Html.DropDownListFor(model => model.HoleID, (List<SelectListItem>)ViewData["HoleList"], new { @class = "form-control" }) 
      @Html.ValidationMessageFor(model => model.HoleID) 
     </div> 
    </div> 

Javascript來視圖使DropDownListFor Searchab樂(選擇二):

$(document).ready(function() { 

    $("#HoleID").select2(); 

} 

爲什麼我所有的DropDownListFor的顯示爲重複,我怎麼能糾正這種錯誤?

編輯

卸下.select2()修復的bug,並刪除重複的下拉......然而,使剩餘的下拉不可搜索。我怎樣才能解決這個問題,同時仍然保持搜索功能?

+0

嘗試刪除標籤 –

+0

@ishanjoshi沒有工作。其他建議? –

+0

爲什麼你需要把$(「#HoleID」)。select2();適用於剃刀中的select2類 –

回答

0

這被確定爲通過Visual Studio發佈過程的服務器錯誤。引導程序select2文件在服務器中未正確存在。

0

我已經體驗過這個使用劍道,它圍繞着形式控制。問題是下拉式變成了更加動態的東西;原始的SELECT元素可能實際上隱藏在UI中。 Select2可能使用多個元素來表示選擇,而原始表單控件類將應用於這兩個元素,並強制它們顯示,而不是顯示和隱藏。或者表單控制類正在強制顯示原始選擇。

我不得不停止使用表單控件,然後創建一個特殊的班級只是劍道控制只是爲了不引起始終顯示的內容之一......

方式的數字,全力以赴爲檢查標記。你會看到表單控件類傳遞給內部元素。

+0

刪除窗體控件不會刪除第二個框。在檢查標記後,我可以看到頂部框是「選擇」,底部框是「跨度」 –

+0

根據我的經驗(儘管我沒有使用select2),通常發生的是SELECT元素被隱藏你真的不能設計它),但將它保存在DOM中,這樣當發生回發時,所選值將被預先設定。然後,它創建另一個元素來顯示時尚的下拉菜單。如果兩者都顯示,最有可能出現問題........ –