2016-06-30 22 views
0

selectの要素には、別のselectが設定されています。すべて正常に動作しますが、新しいselectの値を配列の最初の項目に自動的に設定する必要があります。動的に入力されたセレクトボックス値を選択してください。ajax

$.get($(this).data('url'), { 
    option: $(this).val() 
}, function(data) { 
    var subcat = $('#models'); 
    var options = " "; 
    subcat.empty(); 
    $.each(data, function(index, element) { 
     options += "<option value='" + element.id + "'>" + element.name + "</option>"; 
    }); 
    subcat.append(options); 
}); 

私がしたいのは、選択したモデルの値を最初の項目に設定することです。

+1

配列の最初の要素が選択されていない場合、どのような要素は、新しい選択ボックスで選択されていますか? –

+0

about: '$( '#models').val(data [0] .id)' – Hackerman

+0

デフォルトでは、この動作が得られるはずです。それがあなたのために発生していない場合は、あなたのコードのどこかに選択の 'val()'を設定していないことを確認してください。 –

答えて

0

option変数は単なる文字列であり、そのような文字列をsubcatオブジェクトに追加することはできず、自動的に<option>になります。

代わりにあなたの$.each()関数内でこれらのいずれかの方法を試してみてください。

subcat.append($("<option value='" + element.id + "'>" + element.name + "</option>")); 

か:

subcat.append($("<option/>").val(element.id).text(element.name)); 

最初のオプションはデフォルトで選択されなければなりません。

Fiddle

+0

ありがとう、私はselect2を使っていたからです。私はそれを無効にし、あなたの方法は働いた。 – altoin

関連する問題