【问题标题】:mvc dropdown option with title tag in mvcmvc 中带有标题标签的 mvc 下拉选项
【发布时间】:2015-06-09 19:55:00
【问题描述】:
<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 中的这种类型的下拉 带有标题属性

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

【问题讨论】:

    标签: asp.net-mvc razor asp.net-mvc-4 dropdownbox


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:
      @Html.DropDownListFor(model => model.priority, new SelectList(ViewBag.Priority, "Value", "Text"), "-- Select Priority --", new { @class = "required", title="priority" })
      

      【讨论】:

        【解决方案3】:

        也许您可以通过以下方式实现所需的输出 1.创建一个带有扩展方法的自定义帮助器,该方法将返回 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的帮助下绑定给定select的选项

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多