2017-10-20 6 views
0

jQueryを使用してajax経由で返されたユーザー名をドロップダウンメニューに読み込もうとしています。結果は正常にドロップダウンメニューに入っていますが、すべてのデータがただ1つのオプションタグに入っています。データを別のオプションタグに入れたい。配列のアイテムをさまざまなオプションに設定するタグ

現在のドロップダウンメニューには、この

名1、Name2は、NAME3、NAME4

のように見えます。しかし、私はのようにしたい:

名1

Name2は

NAME3

を名前4

私は結果を入れています

ドロップダウン:

<div class="form-group"> 
    <select name="name" class="form-control" id="employee_select"> 
</select> 
</div> 

のjQuery:

//send value via GET to URL 
    var get_request = $.ajax({ 
     type: 'GET', 
     url: '/users', 
     data: {User:User} 
    }); 

    // handle response 
    get_request.done(function(data){ 

    // Data returned 
    dataReturned = data; 

    // Log data 
    console.log($.type(dataReturned)); // response is string in the form of 
             // Name1 
             // Name2 

    // Convert to an array 
    dataArray = [dataReturned] 

    // Create a new array 
    newArray = []; 

// Populate newArray with items 
for(i=0;i<dataArray.length;i++){ 
    if(typeof(dataArray[i])=='string'){ 
    newArray.push(dataArray[i]) 
} 
} 
//console.log(newArray); 
console.log($.type(newArray)); // an array is returned in the form of ["Name1,Name2,Name3,Name4"] 

// Loop through newArray 
$.each(newArray, function(index, value) { 
$('#employee_select').append("<option>"+ value + "</option>"); 
}) 

はありがとうございます。

+0

は、あなたがあなた返される文字列は\ N \ Nが含まれていないURL – guradio

+0

チェックからの結果を渡す方法をユーザー..シェアからの結果を修正する必要があります。 empy配列要素を作成し、オプションに渡します。 console.log(str)を実行すると、分割されたデータを返すことができます。 – gavgrif

答えて

0

あなたは配列にそれぞれの結果をプッシュし、各項目が文字列であるかどうかをチェックする配列内の各アイテムをループのために実行した場合

何があり、これを行うための、よりエレガントな方法は、おそらくですが... 。成功した結果、あなたは最終的な配列に入ります。あなたはそれを分割\ n個を使用して - -

for(i=0;i<array.length;i++){ 
    if(typeof(array[i])=='string'){ 
    newArray.push(array[i]) 
} 
} 
+0

これまでのご協力ありがとうございます! 質問を更新しました。あなたは助けてもらえますか? – LinuxUser

関連する問題