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でこのタイプのドロップダウンが必要です

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

3 に答える 3

4

組み込みのDropDownListヘルパーでは、タイトルなどの個々のオプションに追加のHTML属性を設定することはできません。それを達成したい場合は、独自のカスタムヘルパーを作成する必要があります。これは、ニーズに合わせて検討できる同じ実装の1つです。

于 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。拡張メソッドを使用してカスタムヘルパーを作成し、ドロップダウン用のカスタムHTMLを作成してビューでそのメソッドを呼び出すMvcHtmlStringを返すことで、目的の出力を実現できます。

以下のように

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 に答える