0

我有一個html.dropdownlist有4個選項。我希望它顯示一個佔位符文本不包含在選項中的默認值。我實現了一個類似的功能,在列表中添加了一個默認選項,但是選定的默認選項會導致div展開,並且會破壞頁面佈局。Mvc下拉列表默認值和佔位符

<div style="float:left; padding-left:13.4%;"> 
         @Html.DropDownList("Adults", ViewData["Adults"] as List<SelectListItem>, new { @class = "dropdown2"}) 
</div> 

那就是控制器代碼;

List<SelectListItem> adt = new List<SelectListItem>(); 

     //adt.Add(new SelectListItem 
     //{ 
     // Text = "1", 
     // Value = "1" 
     //}); 
     adt.Add(new SelectListItem 
     { 
      Text = "1", 
      Value = "1" 
     }); 
     adt.Add(new SelectListItem 
     { 
      Text = "2", 
      Value = "2" 
     }); 
     adt.Add(new SelectListItem 
     { 
      Text = "3", 
      Value = "3" 
     }); 
     adt.Add(new SelectListItem 
     { 
      Text = "4", 
      Value = "4" 
     }); 

     ViewData["Adults"] = adt; 
     return View(); 

即將推出新的mvc和任何貢獻將不勝感激。謝謝。

回答

0

添加佔位符文本時,如果不是不可能直接執行它是棘手的。我建議使用Chosen(JQuery插件)。這是非常容易使用,並使下拉美麗。與選擇的下拉的

https://harvesthq.github.io/chosen/

實施例:

@Html.DropDownListFor(model => model.Example, Model.Example, new { @class = "chosen", data_placeholder="Choose items"}) 
0

可以添加jQuery代碼添加選項的下拉列表與選擇屬性,從而選擇將被設置爲佔位符:

$('#selectid').append($('<option/>', { 
 
     value: value, 
 
     text : value 
 
    }));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<select id='selectid'> 
 
    <option value="" disabled selected>Select your option</option> 
 
    <option value="hurr">Durr</option> 
 
</select>