2016-07-22 4 views
0

を取り込むない選択:Javascriptを/ jQueryのAJAXのは、私は、AJAXを使用していくつかのデータを取得しようと、私は私のHTMLドキュメントのボディに配置された選択を投入していた中で、私は次のjQueryコードを持って

$.ajax({ 
    url: 'myurlhere', 
    method: 'GET', 
    async: false, 
    success: function(result) { 
     $.each(result, function(i, value) { 
      $('#myselect').append($('<option>').text(value).attr('value', value)); 
     }); 
    } 
}); 
AJAX呼び出しから

結果は、このデータを取得します。

{ 
    "651":{ 
     "name":"somename", 
     "stts":{ 
     "opt1":2, 
     "opt2":1, 
     "opt3":"0" 
     } 
    }, 
    "659":{ 
     "name":"someothername", 
     "stts":{ 
     "opt1":2, 
     "opt2":1, 
     "opt3":"0" 
     } 
    } 

} 

そして、これはhtmlです:

<select id="#myselect"></select> 

私はsのことができますつまり、データは収集されますが、SELECTにデータが入力されていません。

私は間違っていますか?

+1

'' = IDを選択し、< 'でなければなりません"myselect"> ' –

+2

' 'です。 'id'属性から'# 'を削除してください。 –

答えて

2

オブジェクトをループし、プロパティを使用して値をHTMLに表示する必要があります。すなわち:value.name:また

$.ajax({ 
     url: 'myurlhere', 
     method: 'GET', 
     async: false, 
     success: function(result) { 
      $.each(result, function(i, value) { 
       // Access name with value.name etc.  
       $('#myselect').append($('<option>').text(value.name).attr('value', value.name)); 
      }); 
     } 
}); 

@Alex Kudryashevが指摘したように、あなたのselect要素は次のようになります。

<select id="myselect"></select> 
+0

OK、まだ選択にデータを追加していませんが、これを追加しました:console.log(value.name);ループの内側に表示され、コンソールに表示されているので、動作していない唯一の部分が追加されています。 – gafasmill

+0

@gafasmill追加して解決しましたか? –

+0

はい、ありがとうソートありがとう:) – gafasmill

関連する問題