1. ホーム
  2. javascript

[解決済み] セレクトボックスのオプションをすべて削除してから、オプションを1つ追加して、jQueryで選択するにはどうすればよいのでしょうか。

2022-02-19 09:54:01

質問内容

コア jQuery を使用して、セレクトボックスのすべてのオプションを削除してから、オプションを 1 つ追加してそれを選択するにはどうすればよいですか?

私のセレクトボックスは以下のようなものです。

<Select id="mySelect" size="9"> </Select>

EDIT: 以下のコードは、チェイニングで役に立ちました。しかし、(インターネットエクスプローラの場合) .val('whatever') は、追加されたオプションが選択されませんでした。(私は、同じ「値」を両方の .append.val .)

$('#mySelect').find('option').remove().end()
.append('<option value="whatever">text</option>').val('whatever');

EDIT: このコードを真似させようとして、私はページ/フォームがリセットされるたびに次のコードを使用しています。このセレクトボックスには、ラジオボタンが配置されています。 .focus() の方が近かったのですが、オプションが選択されているように表示されないのです。 .selected= "true" . 私の既存のコードには何も問題はありません - 私はちょうどjQueryを学ぼうとしているところです。

var mySelect = document.getElementById('mySelect');
mySelect.options.length = 0;
mySelect.options[0] = new Option ("Foo (only choice)", "Foo");
mySelect.options[0].selected="true";

EDIT: selected answer was close to what I needed. これは私のために働いた。

$('#mySelect').children().remove().end()
.append('<option selected value="whatever">text</option>') ;

しかし、どちらの答えも最終的な解答につながりました。

解決方法は?

$('#mySelect')
    .find('option')
    .remove()
    .end()
    .append('<option value="whatever">text</option>')
    .val('whatever')
;