2016-05-30 2 views
1

ajaxレスポンスから選択ボックスオプションにデータを表示したいとします。ここ jqueryを使用してselectボックスオプションにデータを表示する方法

は、ここに私のAjaxの成功機能ここ

success: function(data) { 
    $.each(data, function(i, value) { 
     console.log(value); 
     $('#vendor_list').append('<option value="'+ value.id+'">'+ value.vendor_name +'</option>'); 
     console.log(value); 
    }); 
} 

は、選択ボックスに値を表示するには、どのように私のAjaxのレスポンスJSONデータ

[{"vendor_name":"scscss"},{"vendor_name":"xzcdsfdx"}] 

されている私のビューファイル

<select class="form-control" name="vendor" id="vendor_list" required style="width: 159px;"> 
<option value="">Vendor 1</option> 
</select> 

です。私GIV は

+0

あなたの問題は何ですか?あなたのコードに間違いはありません。 –

+0

取得しているエラーは何ですか?このコードは上手く見えます。 ajaxレスポンスコードに示すように複数のレスポンスがある場合は、ループを使用してオプションを追加します。 – Aditya

+0

エラーが発生しました - morris.js(行79、列15) TypeError: 'in'オペランドが無効です –

答えて

2

が、私はそれがあるので、あなたが

を繰り返してきた&全体data後にそれを追加するオプション文字列を作成する場合

$('#vendor_list').append('<option value="'+ value.id+'">'+ value.vendor_name +'</option>'); 

はそれがはるかに良くなると問題があると思いsuggestion.thanks ajaxを複製することはできないので、私は直接ajaxレスポンスを使用しました。

成功ブロックの中にコード全体を入れることができますが、あなたは必要ありませんvar x

dataあなたのケースでvar x=[...]の役割を果たします

var x = [{"vendor_name":"scscss"},{"vendor_name":"xzcdsfdx"}] 
var _options ="" 
$.each(x, function(i, value) { 
     _options +=('<option value="'+ value.id+'">'+ value.vendor_name +'</option>'); 
    }); 
$('#vendor_list').append(_options); 
のでチェックこの jsFiddle

関連する問題