2012-07-25 5 views
1
<select id="priority"> 
    <option value="calendar" title="icons/icon_calendar.gif">Calendar</option> 
    <option value="shopping_cart" title="icons/icon_cart.gif">Shopping Cart</option> 
    <option value="cd" title="icons/icon_cd.gif">CD</option> 
    <option value="email" selected="selected" title="icons/icon_email.gif">Email</option> 
    <option value="faq" title="icons/icon_faq.gif">FAQ</option> 
    <option value="games" title="icons/icon_games.gif">Games</option> 
</select> 

Я хочу, чтобы этот тип ниспадающего в Mvc с атрибутом заголовкаMVC вариант выпадающий тег заголовка в MVC

@Html.DropDownListFor(model => model.priority, new SelectList(ViewBag.Priority, "Value", "Text"), "-- Select Priority --", new { @class = "required" }) 

ответ

4

Встроенный DropDownList помощник не позволяет вам для установки дополнительного HTML атрибуты по отдельным параметрам, таким как название. Вам нужно будет написать свой собственный помощник, если вы этого хотите. Вот один same implementation, вы можете взглянуть на адаптацию к вашим потребностям.

1
@Html.DropDownListFor(model => model.priority, new SelectList(ViewBag.Priority, "Value", "Text"), "-- Select Priority --", new { @class = "required", title="priority" }) 
0

Вероятно, вы можете добиться желаемых результатов с помощью 1.Create пользовательских хелперов с методом расширения, который будет возвращать MvcHtmlString, который будет создавать свой собственный HTML для выпадающего меню и вызывать этот метод в вашем представлении.

Как Ниже

public static class CustomDropdown 
{ 
public static string Dropdown(Priority priority) 
     {  
      StringBuilder sb=new StringBuilder(); 
      sb+="<Select id='drop'>"; 
      for(int i=0;i<priority.name.length;i++) 
     { 
      sb+="<option id='dropop' value='"+priority.value[i]+"'      title='"+priority.title[i]+"'>"+priority.name[i]+"</option>"; 
     } 
     sb+="</select>"; 
       return Convert.ToString(sb);     
     } 
    } 
} 

2.Bind вариантов данного выбора с помощью JQuery, как

var i=0; 
$('.drpclass option').each(function(){ 
$(this).attr('title',Model.priority.title[i]) 
i++; 
});