2

選択リストに新しいオプションを動的に追加していますが、ユーザー入力から来るので、それを選択するだけです。おそらく、彼らは追加したばかりの新しいオプションを望んでいます。

var msg = "an ajax return from a modal input that works";
$("#myselect").append( $('<option></option>').val(msg).html(msg) );

アイテムは選択に追加されますが、選択されていません。

インターネットネットワークでテストし、準拠するのはie8だけです...

これはブラウザのバグですか、それとも私のコードが間違っていますか?

私の理解は、 .val() がそれを選択する必要があるということでした。

4

4 に答える 4

3

あなたのコードは間違っています。

オプションを作成しますが、それを選択することはありません。

.val()オプションを追加した後、select 要素を 呼び出して、選択したオプションを設定できます。

オプションを呼び出す.val()と、オプションのが設定されます。これは、そのオプションが選択されたときに select が持つ値です。

于 2013-07-16T20:41:15.977 に答える
3

オプションの値を変更しても、select がその値に設定されないため、selects の値を設定する必要があります。

var msg = "an ajax return from a modal input that works";

$("#myselect").append( $('<option>' + msg + '</option>') ).val(msg);

または、選択したプロパティを設定できますが、他のオプションが選択されていないことを確認する必要があります。

var option = $('<option />', {text:msg, selected:'selected'});
$("#myselect").find('option').prop('selected', false).end().append( option );
于 2013-07-16T20:41:28.293 に答える