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

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

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

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

jQuery

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

Q&A

解決済

1回答

2998閲覧

jquery のselect選択option値が消えない

kumakumatan

総合スコア213

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2019/04/02 07:37

編集2019/04/05 00:50

html

1<select name="_test1" id="sidTest1"> 2 <option value="">()</option> 3<select>

javascript

1//optionタグの数を取得する 2var cnt = $('#sidTest1').children('option').length; 3 4if(cnt == "1"){ 5 6 //ここの条件に入ってくるのは確認済み 7 alert(cnt); 8 9 document.getElementById('sidTest1').style.display = 'none'; 10 document.getElementById('sidTest1').style.display = 'block'; 11 12 $('#sidTest1').children().remove(); 13 14}

idから要素を削除したく、「display = 'none';」、「display = 'block';」で
再表示して、その後、「option」タグを削除するようにしているのですが、削除できません。

alert(cnt);で、メッセージを一度表示させると、その下の処理が有効になり、
「option」タグを削除することが可能です。

もちろん、開発者コンソールから単体で、実施しても削除できます。

どのようにしたら削除できるようになりますでしょうか?

ご教授宜しくお願いします・

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

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

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

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

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

m.ts10806

2019/04/02 07:43

html含めて現象再現できる全体の流れがわかるコードをご提示ください
kei344

2019/04/02 07:43

https://jsfiddle.net/96eshj0f/ 効いていますよ。書かれている状況が再現するコード(HTML/JavaScript)を質問文に追記されたほうが回答を得やすいと思います。
x_x

2019/04/03 09:20

何をしたいのかわからないので詳しくお願いします。
cerfweb

2019/04/03 13:43

yambejpさんの回答に対してのコメントに書かれたコードと共に、できればhtmlも含めて追記してもらえますか。
cerfweb

2019/04/05 13:11

kumakumatanさんの書かれている説明では、何をしたいのか誰にもわからないと思います。「optionタグを削除するようにしているのですが、削除できません。」とありますが、ちゃんと削除されているようです。どのような動きを期待されているのでしょうか。
guest

回答1

0

ベストアンサー

DOM構造を読み終わってからやる必要があります

javascript

1<script> 2$(function(){ 3 $('select#idFrom option').remove(); 4 $('select#idto option').remove(); 5}); 6</script> 7<select id="idFrom"> 8<option value="">--</option> 9<option value="1">1</option> 10<option value="2">2</option> 11<option value="3">3</option> 12</select> 13<select id="idto"> 14<option value="">--</option> 15<option value="1">1</option> 16<option value="2">2</option> 17<option value="3">3</option> 18</select> 19<select id="other"> 20<option value="">--</option> 21<option value="1">1</option> 22<option value="2">2</option> 23<option value="3">3</option> 24</select> 25

投稿2019/04/02 07:46

yambejp

総合スコア114572

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

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

kumakumatan

2019/04/02 08:36

ご回答ありがとうございます。 強制的に読み終えたり、項目だけをリロードさせたりする方法などありますでしょうか? 宜しくお願いします。
yambejp

2019/04/02 08:39

> 強制的に読み終えたり それが例示した「$(function(){・・・});」の部分 > 項目だけをリロードさせたり おっしゃる意味がわかりません。何かをトリガーに 追加されたり削除されたりするのですか? 提示されている条件が足りないと思います
kumakumatan

2019/04/02 08:55

すいません。セレクトの切替により、値を表示・非表示させたく 思っています。 $(document).on('change', '#id名1, function(){ if($('[name="id名2"] option:selected').val() == "0"){ この時に掲示した命令をしたく思います。 } $('select#idFrom option').remove();単体では有効になるのですが、 jqueryの中に入れると、有効になりません・・。 すいませんが宜しくお願いします。
kumakumatan

2019/04/09 04:42

javascriptエラーを消したら、正常動作しました。 お騒がせしました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問