0

Web ページにドロップダウン コントロールがあります。それは、コレクション ディクショナリの値です。ここでは、J クエリを使用して選択したオプションを有効にして、ドロップダウン リストの上部に 1 つのオプションの値を追加しました。

サンプルコードを見つけてください。

コレクションコード:

Dictionary<string,string> PlatformList=new Dictionary<string,string>();
PlatformList.Add("asp","ASP.NET")
PlatformList.Add("aspnetmvc","ASP.NET MVC")
PlatformList.Add("wpf","WPF")
PlatformList.Add("silverlight","Silverlight")

ここで、コレクションをドロップダウンでバインドしました。

View.cshtml

  @Html.DropDownList("platform", new SelectList(PlatformList, "Key", "Value"))

今、ドロップダウンに新しいオプションを追加し、Jquery を使用して選択したオプションを有効にしました。

$(document).ready(function(){
  $('#platform').prepend("<option  value='all'>All</option>");
        $("#platform").find('option:first').attr('selected', 'selected'); 

});

ページがレンダリングされた後、新しく追加された「ドロップダウンの選択段階のすべてのオプション」は、IE7、IE8、Mozilla、Chrome で動作します。

しかし、IE9、IE10 では、「すべて」オプションは U ドロップダウンに表示されません。しかし、選択された状態でリストの一番上に配置されますが、ステータスは非表示になります。ドロップダウンの表示オプションは、「すべて」オプションの隣にありました。

<option val="all" selected="selected">All</option>==> not viewed in IE9,IE10
<option val="asp">ASP.NET</option>----> this is viewed in IE9,IE10 in case the above issue.

これがIE9、IE10をサポートできることを提案してください。その場合は、ソリューションを更新してください。

4

2 に答える 2

1

これを試して:

$(document).ready(function(){
    $('#platform').prepend("<option  value='all'>All</option>");
    $("#platform option:selected").removeAttr('selected');
    $("#platform option:first").attr('selected', 'selected'); 
});

コードがselected元のデフォルトから属性を削除していないため、この属性を持つ複数のオプションが競合している可能性があります。

于 2013-07-30T14:24:36.337 に答える