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中使用 title 属性的这种类型的下拉菜单

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

3 回答 3

4

内置的 DropDownList 帮助器不允许您在单独的选项(例如标题)上设置额外的 HTML 属性。如果你想实现这一点,你将不得不编写自己的自定义助手。这是一个相同的实现,您可以看看适应您的需求。

于 2012-07-25T10:32:38.197 回答
1
@Html.DropDownListFor(model => model.priority, new SelectList(ViewBag.Priority, "Value", "Text"), "-- Select Priority --", new { @class = "required", title="priority" })
于 2012-07-25T12:29:06.667 回答
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.在jquery的帮助下绑定给定选择的选项,例如

  var i=0;
$('.drpclass option').each(function(){
$(this).attr('title',Model.priority.title[i])
i++;
});
于 2015-06-09T11:55:00.080 回答