質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
コンボボックス

GUIの要素のひとつです。Listboxと同様にいくつかのうちひとつを選択する機能だが、Comboboxの場合は選択されたもののみがデフォルトとして表示される。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

1回答

3001閲覧

jQueryで、セレクトボックスのselectedIndexを変更しても表示が変わらない

yukie1101

総合スコア11

コンボボックス

GUIの要素のひとつです。Listboxと同様にいくつかのうちひとつを選択する機能だが、Comboboxの場合は選択されたもののみがデフォルトとして表示される。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2021/10/22 04:53

前提・実現したいこと

Cakephpを使用して作成したシステムの中で、検索条件を指定して一覧表示する、という画面があります。
ここに条件クリアボタンがあるのですが、一度検索して結果一覧を表示させた後にクリアボタンをクリックしても
セレクトボックスのみ初期化されません。

色々と試してみたのですが、これ以上の対処方法がわからず、困っています。
どなたかお知恵を貸していただけないでしょうか。よろしくお願いいたします。

発生している問題・エラーメッセージ

** ▼期待している挙動▼ **

クリアボタンをクリックすると、全てのセレクトボックスのindexが0になる
テキストボックスの値は全て空になる

** ▼実際の挙動(検索ボタンクリック前)▼ **

クリアボタンをクリックすると、全てのセレクトボックスのindexが0になる
テキストボックスの値は全て空になる

** ▼実際の挙動(検索ボタンクリック後)▼ **

クリアボタンをクリックしても、セレクトボックスの値が変わらない
テキストボックスの値は全て空になる
検索ボタンクリック後、セレクトボックスの値を変更してからクリアボタンをクリックすると
検索ボタンをクリックした直後の状態に戻る

該当のソースコード

Javascript

1$('#name').val(''); // テキストボックス(ここはOK) 2$('#is-sendin-only').removeAttr('checked').prop('checked', false).change(); //  チェックボックス(ここも問題なし) 3 4// ここからセレクトボックス 5console.log($('[name=pref]').val());  // この時点では25 6$('[name=pref]').prop("selectedIndex", 0); 7console.log($('[name=pref]').val()); // ログで出てくるのは空欄

試したこと

・オブジェクト取得をID指定で実施

Javascript

1// ここからセレクトボックス 2console.log($('[name=pref]').val());  // この時点では25 3$('#pref').prop("selectedIndex", 0); 4//$('[name=pref]').prop("selectedIndex", 0); 5console.log($('[name=pref]').val()); // ログで出てくるのは空欄

・値の指定方法を変更

Javascript

1// ここからセレクトボックス 2console.log($('[name=pref]').val());  // この時点では25 3$('#pref').val(''); 4//$('[name=pref]').prop("selectedIndex", 0); 5console.log($('[name=pref]').val()); // ログで出てくるのは空欄

Javascript

1// ここからセレクトボックス 2console.log($('[name=pref]').val());  // この時点では25 3$('#pref').val(null); 4//$('[name=pref]').prop("selectedIndex", 0); 5console.log($('[name=pref]').val()); // ログで出てくるのは空欄

補足情報(FW/ツールのバージョンなど)

jQuery 3.4.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

int32_t

2021/10/22 05:04

問題が再現する完全なコードを開示してください。 問題が再現するブラウザ・OSを書いてください。
guest

回答1

0

どこが問題なのかわかりません

javascript

1<script> 2$(function(){ 3 console.log($('[name=pref]').val());//25 4 $('[name=pref]').prop("selectedIndex", 1); 5 console.log($('[name=pref]').val()); //1 6 $('#pref').prop("selectedIndex", 2); 7 console.log($('[name=pref]').val()); //2 8 $('[name=pref]').val(3); 9 console.log($('[name=pref]').val()); //3 10}); 11</script> 12<select name="pref" id="pref"> 13<option value="">--</option> 14<option value="1">1</option> 15<option value="2">2</option> 16<option value="3">3</option> 17<option value="25" selected>25</option> 18</select>

投稿2021/10/22 05:00

yambejp

総合スコア116736

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問