2016-07-10 16 views
0

私はASP.Net MVC5プロジェクトを開発しています。私はajaxを使って自分のプロジェクトでWebサービスを呼び出しています。すべてのものは、これまでokですし、最後に都市名をselectタグに追加することができますが、以下のコードは動作しません:あなたは間違った方法でオプションを追加しているようajax javacriptのselectタグにJSONデータを追加する方法

@{ 
    Layout = null; 
} 

<!DOCTYPE html> 
<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <title>Index</title> 
    <script src="~/Scripts/jquery-1.10.2.min.js"></script> 
    <script type="text/javascript"> 
     function f1() { 
      var token=""; 
      $.ajax({ 
       data: { webservice_username: 'webservice_usernam', password: 'password' }, 
       url: 'http://www.travelinsure.ir/api/v1.1/authenticate', 
       type: 'POST', 
       dataType: 'json', 
       success: function (data) { 
        $.each(data, function (idx, result) { 
         token = result; 
         f2(result); 
        }) 
       }, 
       error: function (x, y, z) { 
        alert(x.responseText); 
        alert(z); 
       } 
      }); 
     } 
     function f2(token) { 
      // alert('New: '+token); 
      $.ajax({ 
       data: { token: token }, 
       url: 'http://www.travelinsure.ir/api/v1.1/getcitylist?token=', 
       type: 'GET', 
       dataType: 'json', 
       success: function (data) { 
        results = JSON.stringify(data); 
        // a = JSON.parse(data); 
        alert(results); 
        a = $.parseJSON(data); 
        alert(a); 
        $.each(data, function (idx, r) { 
         $("#sel").append("<option value='" + r.city_id + "'>'" + r.city_name + "'</option>"); 
         alert(result.city_name); 
        }) 
       }, 
       error: function (x, y, z) { 
        alert(x.responseText); 
        alert(z); 
       } 
      }); 
     } 
    </script> 
</head> 
<body> 
    <div> 
     <input type="submit" name="name" value="Click!!!" onclick="f1()" /> 
    </div> 
    <div id="mydiv"> 
     <select id="sel"> 
      <option>لیست شهرهای ایران</option> 
     </select> 
    </div> 
</body> 
</html> 
+1

ようこそスタックオーバーフローに!あなたのコードが「うまくいかない」方法を詳しく説明できますか?あなたは何を期待していましたか、実際何が起こったのですか?例外/エラーがある場合は、それが発生した行と例外/エラーの詳細を投稿してください。これらの詳細を入力または編集してください。 – rene

答えて

0

が見えます。

はこのようにそれを実行します。

$.each(data, function(key, value) { 
    $('#sel').append($("<option></option>").attr("value",item.city_id).text(item.city_name)); 
}); 

ます。また、このように新しいオプションを追加することができます。

$.each(data, function (key, item) { 
    $("#sel").get(0).options[$("#sel").get(0).options.length] = new Option(item.city_name, item.city_id); 
}); 
関連する問題