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

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

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

HTMLの<input type="text">で生成されるtextboxに関するタグです。

JavaScript

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

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Q&A

解決済

3回答

1174閲覧

JavaScript:SelectText内の値を、「~.options[5]~」の様に数値で指定ではなく、"文字列"で指定する方法が分かりません。

mie.8

総合スコア28

textbox

HTMLの<input type="text">で生成されるtextboxに関するタグです。

JavaScript

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

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

0グッド

0クリップ

投稿2017/05/31 01:21

前提・実現したい事

SelectText内の値を、「.options[5]」の様に数値で指定ではなく、"文字列"で指定する方法が分かりません。
ソースコードだと、.options[16] を指定して、東北地方を選択状態にしておりますが、
文字列指定でコードを書きたいが、指定方法(コード記述)が分かりません。
【例】恐らく? document.○○
= "青森県" みたいな感じ??

発生している問題・Error Message

.options[数値]」の様に、"数値を指定する"書き方ではなく、**『文字列を指定する』**書き方が分かりません。
調べてみたのですが、見つかりませんでした。

実際のソースコード

HTML

1<html> 2 <head> 3 <title>Text_Test</title> 4 5 <!-- 6 * Select Text Box * 7 --> 8 <select title="Select_Text" id="SelectCandidate" style="width: 180px; height: 300px; overflow: scroll;" multiple="multiple"> 9 10 <!-- 北海道地方 --> 11 <option title="北海道" >北海道</option> 12 13 <!-- 東北地方 --> 14 <option title="青森県" >青森県</option> 15 <option title="岩手県" >岩手県</option> 16 <option title="宮城県" >宮城県</option> 17 <option title="秋田県" >秋田県</option> 18 <option title="山形県" >山形県</option> 19 <option title="福島県" >福島県</option> 20 21 <!-- 関東地方 --> 22 <option title="茨城県" >茨城県</option> 23 <option title="栃木県" >栃木県</option> 24 <option title="群馬県" >群馬県</option> 25 <option title="埼玉県" >埼玉県</option> 26 <option title="千葉県" >千葉県</option> 27 <option title="東京都" >東京都</option> 28 <option title="神奈川県" >神奈川県</option> 29 30 <!-- 中部地方 --> 31 <option title="新潟県" >新潟県</option> 32 <option title="富山県" >富山県</option> 33 <option title="石川県" >石川県</option> 34 <option title="福井県" >福井県</option> 35 <option title="山梨県" >山梨県</option> 36 <option title="長野県" >長野県</option> 37 <option title="岐阜県" >岐阜県</option> 38 <option title="静岡県" >静岡県</option> 39 <option title="愛知県" >愛知県</option> 40 41 <!-- 近畿地方 --> 42 <option title="三重県" >三重県</option> 43 <option title="滋賀県" >滋賀県</option> 44 <option title="京都府" >京都府</option> 45 <option title="大阪府" >大阪府</option> 46 <option title="兵庫県" >兵庫県</option> 47 <option title="奈良県" >奈良県</option> 48 <option title="和歌山県" >和歌山県</option> 49 50 <!-- 中国地方 --> 51 <option title="鳥取県" >鳥取県</option> 52 <option title="島根県" >島根県</option> 53 <option title="岡山県" >岡山県</option> 54 <option title="広島県" >広島県</option> 55 <option title="山口県" >山口県</option> 56 57 <!-- 四国地方 --> 58 <option title="徳島県" >徳島県</option> 59 <option title="香川県" >香川県</option> 60 <option title="愛媛県" >愛媛県</option> 61 <option title="高知県" >高知県</option> 62 63 <!-- 九州地方 --> 64 <option title="福岡県" >福岡県</option> 65 <option title="佐賀県" >佐賀県</option> 66 <option title="長崎県" >長崎県</option> 67 <option title="熊本県" >熊本県</option> 68 <option title="大分県" >大分県</option> 69 <option title="宮崎県" >宮崎県</option> 70 <option title="鹿児島県" >鹿児島県</option> 71 72 <!-- 沖縄地方 --> 73 <option title="沖縄県" >沖縄県</option> 74 </select> 75 76 <script type="text/javascript"> 77 78 /*---------------------------------------------------------------------------*/ 79 // 変数宣言 80 /*---------------------------------------------------------------------------*/ 81 var textID_Left = "SelectCandidate"; 82 83 /*---------------------------------------------------------------------------*/ 84 // 選択指定 (数値) -- 選択外す:false , 選択する:true -- 85 /*---------------------------------------------------------------------------*/ 86 document.getElementById(textID_Left).options[0].selected = false; 87 document.getElementById(textID_Left).options[1].selected = true; 88 document.getElementById(textID_Left).options[2].selected = true; 89 document.getElementById(textID_Left).options[3].selected = true; 90 document.getElementById(textID_Left).options[4].selected = true; 91 document.getElementById(textID_Left).options[5].selected = true; 92 document.getElementById(textID_Left).options[6].selected = true; 93 94 /*---------------------------------------------------------------------------*/ 95 // 選択指定 (文字列) 96 /*---------------------------------------------------------------------------*/ 97 /** 98 * 現在調査中! 99 */ 100 101 </script> 102 </head> 103</html>

試した事

HTML

1<script type="text/javascript"> 2 3 /*---------------------------------------------------------------------------*/ 4 // 変数宣言 5 /*---------------------------------------------------------------------------*/ 6 var textID_Left = "SelectCandidate"; 7 8 /*---------------------------------------------------------------------------*/ 9 // 選択指定 (文字列) -- 失敗例 -- 10 /*---------------------------------------------------------------------------*/ 11 document.getElementById(textID_Left).value("青森県") = true; // 失敗例 : 其の一 12 document.getElementById(textID_Left).options("青森県") = true; // 失敗例 : 其の二 13 document.getElementById(textID_Left).selected("青森県") = true; // 失敗例 : 其の三 14 document.getElementById(textID_Left).selected().value("青森県") = true; // 失敗例 : 其の四 15 // ~etc. 16 17 </script>

補足情報(言語/FW/ツール等のVersion)

・Browser → IE,Google Chrome

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

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

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

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

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

guest

回答3

0

ベストアンサー

IEのバージョンが8以上であればquerySelector使えるので以下できますが、割とコストは高いです。

document.getElementById(textID_Left).querySelector("[title=北海道]").selected = true;

投稿2017/05/31 01:32

kanimaru

総合スコア1013

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

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

mie.8

2017/05/31 01:46

ご回答、ありがとうございます。kanimaru様の回答で解決出来ました。
guest

0

解決策とは直接関係はありませんがoptionに設定するのはtitleではなくて通常はvalueですね。

セレクトメニュー <SELECT> <OPTION> <OPTGROUP>

追記

valueに変更する場合はkanimaruさんご提示のソースのtitleの部分もvalueに変更する必要があります。

投稿2017/05/31 01:38

編集2017/05/31 01:40
m.ts10806

総合スコア80850

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

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

mie.8

2017/05/31 01:46

ご回答、ありがとうございます。kanimaru様の回答で解決出来ました。
guest

0

option titleではなくvalueの方がよいと思います
また各optionに地方をclassで与えておけばよいのでは?

HTML

1<option value="青森県" class="tohoku">青森県</option> 2

もしくは思い切ってoptgroupでグルーピングするという手もあります

HTML

1<select> 2<optgroup label="北海道"> 3<option value="北海道" >北海道</option> 4</optgroup> 5<optgroup label="東北"> 6<option value="青森県" >青森県</option> 7<option value="岩手県" >岩手県</option> 8<option value="宮城県" >宮城県</option> 9<option value="秋田県" >秋田県</option> 10<option value="山形県" >山形県</option> 11<option value="福島県" >福島県</option> 12</optgroup> 13</select>

投稿2017/05/31 01:37

編集2017/05/31 01:38
yambejp

総合スコア114810

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

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

mie.8

2017/05/31 01:46

ご回答、ありがとうございます。kanimaru様の回答で解決出来ました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問