3

私のコードには 2 つのselect要素があります。1 つは米国の州 ( #us_state )、もう 1 つは都市 ( #city_name ) です。「州」を選択すると、2 番目の選択要素には、選択した州に存在する都市のみが含まれている必要があります。私は ajax を使用し、リクエストを実行してレスポンスを取得しました。応答形式は id:name{"26332":"Abbott Park","27350":"Addieville", ...}です。ここで、応答をオプション要素に追加し、それを追加して要素を選択します#city_name id。しかし、私はこの結果を達成する方法がわかりません。<option value="key">value</option>

$('#us_state').bind('change', function() {
    var projectId = $("#inputtitle").val();     
    var stateId =  $(this).val(); 
    var arrayData = {"projectId": projectId, "stateId":stateId};
    $.ajax({
          type: "GET",
          url: "/bidboldly/projects/editproject/",        
          data: arrayData,
          success : function(response) {
             ............
             ..........                         
          },
          error: function(){
            alert("error");
          }
    })
});
4

2 に答える 2

2

応答から受信した各配列データを反復処理し、varcityで都市名を取得します。次に、jquery appendを使用してオプション値を追加します(また、を使用して反復ループの外側のオプションをクリアすることを忘れないでください$('#city_name').html("");

$('#city_name').append('<option value="'+city+'">'+city+'</option>');
于 2012-04-22T08:22:03.933 に答える
1

これはあなたが探しているものですか?

data = eval('( '+response' )'); //Parse the JSON data
for (zip in data) { //Iterate through each item in data
    $('#city_name').append('<option value="'+zip+'">'+data[zip]+'</option>'); //Append option to select element
}
于 2012-04-22T08:21:18.383 に答える