2009-09-03 3 views
0

次のjQuery関数を使用してドロップダウンリストを作成しています。 ユーザーが項目を選択すると、セッション変数に選択した値を格納していて、ポストバック後に変数hiddenフィールドを介してセッション変数からデータを取得することができます。jQueryを使用してドロップダウンリストで選択した項目を設定する方法

問題は、ポストバック後に、選択した項目を使用してリストを元に戻してから、送信をクリックする前に選択することができないことです。

ドロップダウンリストで選択した項目を選択した項目に設定するにはどうすればよいですか?

  var selectedApp = $('#selectedApplication').val(); 

      $.getJSON("/ApplicationSettings/Applications/List", function(data) { 
       var items = "<option>----------- Select Application to Configure ----------</option>"; 
       $.each(data, function(i, application) { 
        items += "<option value='" + application.Value + "'>" + application.Text + "</option>"; 
       }); 
       $("#Applications").html(items); 
      }); 

答えて

1

あなたはあなたのことをeachの内部を変更することができます。

items += "<option value='" + application.Value + "' " + (selectedApp === application.Text ? "selected" : "") + ">" + application.Text + "</option>"; 

selecteAppは、テキスト値を保持していると仮定。それ以外の場合はapplication.Valueを使用して比較してください。

0

各オプションの選択状態は、ajaxエンドポイントに返しますか?私は何かが欠けていない限り、この時点で、サーバーが今

を選択されたオプションを認識しておく必要がありますので、ちょうどこの

にそれを修正し、あなたのJSONこの

[ 
    {"Value": 1, "Text": "One"} 
    , {"Value": 2, "Text": "two"} 
    // etc 
] 

のように見えるようです

[ 
    {"Value": 1, "Text": "One", "Selected": false} 
    , {"Value": 2, "Text": "two", "Selected": true} 
    // etc 
] 

そして、あなたのコールバックが適切に

$.each(data, function(i, application) { 
    var selected = application.Selected? ' selected' : ''; 
    items += "<option value='" + application.Value + "'" + selected + ">" + application.Text + "</option>"; 
}); 
0

おかげで値を使用します! これは私がやったことです。

 $.getJSON("/ApplicationSettings/Applications/List", function(data) 
     { 
      var items = "<option>----------- Select Application to Configure ----------</option>"; 
      $.each(data, function(i, application) 
      { 
       var selected = (application.Value == selectedApp) ? 'selected' : ''; 
       items += "<option value='" + application.Value + "'" + selected + ">" + application.Text + "</option>"; 
      }); 
      $("#Applications").html(items); 
     }); 
関連する問題