選択したラベルを別の箇所に表示する方法

このQ&Aのポイント
  • SELECTで選択したラベルを別の箇所に表示する方法について質問します。
  • 現在のコードでは、選択した項目のラベルを#search_priceの箇所に表示させることができないようです。
  • 行内の★の箇所を見直すことで問題が解決する可能性があります。
回答を見る
  • ベストアンサー

選択したラベルを別の箇所に表示するには?

お世話になります。 SELECTで選択したラベルを別の箇所に表示したいと考えており下記のように記述をしましたがどうも反応してくれません・・。 アドバイス頂けますと幸いです。 ■【HTML】 <SELECT name="search_price"> <option id="sp0" value="aaa" selected><label for="aaa">りんご</label></option> <option id="sp1" value="bbb" ><label for="bbb">みかん</label></option> <option id="sp2" value="ccc" ><label for="ccc">たぬき</label></option> </SELECT> <div id ="search_price">結果未表示</div> ■【Javascript】 $(window).load(function(){ var $b = $('select[name="search_price"]'); $b.bind('change', function(){ var add = ''; $b.each(function(index, value) {★ if ('select option:selected'){★ add += '<span>' + $('select option:selected').html() + '</span>');★ } }); if (add.length > 0) { add = add.substring(0, add.length - 2) + '.'; } else { add = '結果未表示'; } $('#search_price').html(add); }); }); 選択した項目のラベル(りんご等)が#search_priceの箇所に表示をさせてたいです。 行内の★の箇所がどうも怪しいようなのですが、アドバイスのほどよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 >セレクトで選択したときに項目名(<option value="1">りんご</option>の場合、りんごという文字)をJqueryで指定した箇所(<div id="samole"><div>)にリアルタイムで表示させたいと考えています。 であれば、以下の記述で実装できます。 $(function() { //selectオブジェクトを取得 var $select = $('select[name="search_price"]'); //選択項目が変更されたら $select.bind ( 'change', function() { //id="search_price"に // select内のselectedされているタグのテキストをセットする $('#search_price').html ( $(this).find(':selected').text() ); }); });

その他の回答 (1)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 そもそも、optionタグの中にタグの記述が出来ません。 また、<label for="xxx"></label>のforで指定するのは要素のIDになります。 具体的にどのようなことがしたいかわかれば、具遺体的なアドバイスが出来ると思います。 (なぜラベルタグである必要があるか等)

news_0203
質問者

補足

ご回答ありがとうございます。 そもそもOptionタグ内にラベルタグを使っていること自体がだめだったのですね・・・ セレクトで選択したときに項目名(<option value="1">りんご</option>の場合、りんごという文字)をJqueryで指定した箇所(<div id="samole"><div>)にリアルタイムで表示させたいと考えています。 どうぞよろしくお願いいたします。

関連するQ&A

  • PHP セレクトボックスの値 GET渡し

    PHP初心者です。 大急ぎで対応を要求されていますので皆様のお力添えをよろしくおねがいします。 画面に検索キーとしてのセレクトボックスがあります。 ボタンではなくリンクのonClickで選択された値をGETで渡したいのです。 どのように記述したらよいか教えてください。 検索キーのリストボックス(2012を選択した状態です) <select name="search_orderyear"> <option value="2005" label="2005">2005</option> <option value="2006" label="2006">2006</option> <option value="2007" label="2007">2007</option> <option value="2008" label="2008">2008</option> <option value="2009" label="2009">2009</option> <option value="2010" label="2010">2010</option> <option value="2011" label="2011">2011</option> <option selected="selected" value="2012" label="2012">2012</option> </select> 渡す値をセットしている箇所(xxxは外部function名です) onClick="xxx('pdf.php?orderyear=<!--{$search_ordermonth.value}-->',・・以下省略 としてみましたが、値はわたりませんでした。 上記説明で不足部分があればご指摘ください。 よろしくおねがいいたします。 PHP 5.2.9

    • ベストアンサー
    • PHP
  • ラベルのマークアップ

    <input name="price_min" type="text" value="" id="price_min" />~ <input name="price_max" type="text" value="" id="price_max" />円 このようなフォーム要素があるとき、 どのようにラベル付けをするのが妥当なのでしょうか? <label> 価格:<br> <input name="price_min" type="text" value="" id="price_min" />~ <input name="price_max" type="text" value="" id="price_max" />円 </label> このように、ひとつの<label>に対して二つのコントロールを含めることはできるのでしょうか? 現在は<span>価格</span> のように<span>タグで代用しています。 ぜひアドバイスをお願いします。

    • ベストアンサー
    • HTML
  • メールフォームの確認画面の表示

    あるページのメールフォームで <label class="label" for="name1">ラウンド希望日<span class="style1">*</span></label> <span class="control"> 2008年 <select name="ラウンド希望日" size="1" id="select"> <option value="1">1</option> --------------省略---------------- <option value="12">12</option> </select> 月 <select name="ラウンド希望日" id="select" size="1"> <option value="1">1</option> --------------省略---------------- <option value="31">31</option> </select> 日 </span> と作って、2008年(選択)月(選択)日という感じでお客様に選択していただく項目を設けたのですが、選択して、いざ確認画面に行くと (例)7月25日とした場合 <確認画面> ラウンド希望日|7 25 と出てしまうんです。 これを本当は"7月25日"と表示したいんです。 これでは読みづらいので… ご指導のほうよろしくお願いします。

    • 締切済み
    • CGI
  • selectで選択したら他のinputを無効にする

    よろしくお願いします。 タイトルではわかりにくいですが例えば <select name="hogehoge" id="hogehoge">  <option value="指定なし" selected>指定なし</option>  <option value="午前中">午前中</option>  <option value="12-14">12時~14時</option>  <option value="14-16">14時~16時</option>  <option value="16-18">16時~18時</option>  <option value="18-20">18時~20時</option>  <option value="20-21">20時~21時</option> </select> <input type="radio" name="namekisai" value="OK" id="a1" checked><label for="a1">OK</label> <input type="radio" name="namekisai" value="NG" id="a2"><label for="a2">NG</label> ▲「指定なし」を選んだら無効にするパーツ この中で「指定なし」を選んだら下のinputなどを無効(disabled)にしたいですが、どのようにすればよろしいでしょうか?

  • プルダウンをもう一つ増やしたい&フレームページで使用のため、別ウインドウで表示させたい

    ↓他サイトさんにてサンプルで置いてあったものを拝借して自分なりにやってみました。 1、これをさらにもうひとつプルダウンを選択させて他サイトへジャンプさせる場合はどのようにしたらよいですか。 2、フレームページで使うので、他サイトの表示を別ウインドウで表示させたいのですが、どのようにしたらよいですか。 よろしくお願いします。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN""http:///www.w3.org/TR/html4/frameset.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title></title> <script type="text/javascript" language="JavaScript"> <!-- function showthis(obj) { if(!obj) return false; if(document.getElementById) { document.getElementById("item1").style.display = "none"; document.getElementById("item2").style.display = "none"; document.getElementById("item3").style.display = "none"; document.getElementById(obj).style.display = "inline"; } else { return false; } } // --> </script> <style type="text/css"> #item1,#item2,#item3 { display: none; } </style> </head> <body> <form> <select onchange="showthis(this.value)"> <option selected="selected">選んでください</option> <option value="item1"></option> <option value="item2"></option> <option value="item3"></option> </select> <select id="item1" onchange="location=this.value"> <option selected="selected">選んでください</option> <option value=""></option> <option value=""></option> <option value=""></option> </select> <select id="item2" onchange="location=this.value"> <option selected="selected">選んでください</option> <option value=""></option> <option value=""></option> <option value=""></option> </select> <select id="item3" onchange="location=this.value"> <option selected="selected">選んでください</option> <option value=""></option> <option value=""></option> <option value=""></option> </select> </form> </body> </html>

  • セレクト部品の表示内容

    が選択されているかどうかによって変化するようにしたいのですが 以下のようにしてもうまくいきません。 何か解決策はないでしょうか? <script> function func() { document.getElementById("00").innerHTML="00.aa"; document.getElementById("01").innerHTML="01.bb"; } function func2() { document.getElementById("00").innerHTML="00"; document.getElementById("01").innerHTML="01"; } </script> <select onfocus="func()" onblur="func2()"> <option value="00"><span id="00">00</span></option> <option value="01"><span id="01">01</span></option> </select>

  • エラー表記を追加したい

    いつもお世話になっています。 2段階のプルダウン選択で検索ボタンを押すと、 金額が表示されるフォームがあります。 このフォームで、 プルダウン1つのみ選択、または2つとも選択せずに検索を押すと、「undefined」と出てしまいます。 2つのプルダウンを選択した上で検索ボタンを押さないと、「××を選択してください!」というようなエラー表記を出すようにしたいのですが、自力ではむずかしいため、こちらへ質問させていただきました。 ご教授ください。 以下、ソースです。 【html】 <table> <tr> <td class="select-field-todofuken"> <select name="todofuken" onchange="todofukenSet()" class="todofuken" id="pref"> <option value="">【都道府県を選択】</option> <option value="">東京都</option> <option value="">神奈川県</option> </select> </td> <td class="select-field-sikuchoson"> <select name="kuchoson" id="sikuchoson"> <option value="">【市区町村を選択】</option> </select> </td> <td class="select-field-search"> <p id="image-btn"><img src="image/btn_area_search.png" alt="検索" class="rollover"></p> </td> </tr> <tr> <td colspan="3" class="result-field"> <dl class="result"> <dt>あなたの住所は</dt> <dd class="result-money"><div id="deli-price"></div></dd> </dl> </td> </tr> </table> 【js】 function getCityNum(pref) { var select_list; for ( i=0; i<pref.length; i++ ){ select_list += '<option value="">' + pref[i] + '</option>'; } $("#sikuchoson").html(select_list); } $(function() { $("#pref").change(function(){ if ($("#pref option:selected").text() == '東京都') { getCityNum(tokyo_todofuken); } else if ($("#pref option:selected").text() == '神奈川県') { getCityNum(kanagawa_todofuken); } }); //ボタンを押すと選ばれた値をわたす $("#image-btn").click(function () { var selected = $("#sikuchoson option:selected").text(); if ($("#pref option:selected").text() == '東京都') { var data = tokyo[selected]; } else if ($("#pref option:selected").text() == '神奈川県') { var data = kanagawa[selected]; } //金額を表示 $("#deli-price").html("<span>"+data+"円</span>"); }); }); 以上です。 割愛していますが、金額の数字は配列から引っ張るようになっています。 なにとぞよろしくお願い致します。

  • 日付から曜日を表示したい

    現在、HTMLでJavaScriptを用いたホームページを作成しています。 プルダウンリストの日付から閏年に対応しているソースコードを参考にして組んだまでは 良かったのですが、プルダウンリストで選択された年月日から曜日の抽出がうまくいかず悩んでいます。 以下、少しわかりにくいですがイメージです。 2015   年   1   月   1  日    → ○曜日 2016       2       2 2017       3       3  ~        ~       ~ 2030       12      31 具体的なヒントやソースを頂けないでしょうか? よろしくお願いします。 原状のbodyの中身を書いておきます。  <form name="formDate"> <label>申請日:</label> <select name="selectYear" onchange="setSelectMonth()"></select> <label>年</label> <select name="selectMonth" onchange="setSelectDate()"></select> <label>月</label> <select name="selectDate"></select> <label>日</label> <select name="selectWeek" onchange="setSelectyear()" onchange="setSelectMonth()" onchange="setSelectDate()"disabled> <OPTION>日曜日<OPTION>月曜日<OPTION>火曜日<OPTION>水曜日<OPTION>木曜日<OPTION>金曜日<OPTION>土曜日 </select> </form> <script type="text/javascript"> <!--初期値設定--> var Now = new Date(); var NowYear = Now.getFullYear(); var NowMonth = Now.getMonth()+1; var NowDate = Now.getDate(); var NowWeek = Now.getDay(); <!--閏年--> function Uruu( Year ){ var uruu = ( Year%400==0 ) ? true : ( Year%100==0 ) ? false : ( Year%4==0 ) ? true : false; return uruu; } <!--年--> function setSelectYear(){ for(var y=NowYear;y<NowYear+6;y var select = document.formDate.selectYear; var option = select.appendChild( document.createElement('option') ); option.value = y; option.text = y; option.selected = ( y==NowYear ) ? 'selected' : false; } setSelectMonth(); } setSelectYear(); <!--月--> function setSelectMonth(){ var Year = document.formDate.selectYear.options[document.formDate.selectYear.selectedIndex].value; var select = document.formDate.selectMonth;// while( select.options.length ){ select.removeChild( select.options[0] ); } for(var m=1;m<=12;m++){ var option = select.appendChild( document.createElement('option') ); option.value = m; option.text = m; option.selected = ( Year==NowYear ) ? ( ( m==NowMonth ) ? 'selected' : false ) : ( ( m==1 ) ? 'selected' : false ); option.disabled = ( Year==NowYear ) ? ( ( m<NowMonth ) ? 'disabled' : false ) : false; } setSelectDate(); } <!--日--> function setSelectDate(){ var Year = document.formDate.selectYear.options[document.formDate.selectYear.selectedIndex].value; var Month = document.formDate.selectMonth.options[document.formDate.selectMonth.selectedIndex].value; var days = [31,( Uruu(Year) ? 29 : 28 ),31,30,31,30,31,31,30,31,30,31]; var select = document.formDate.selectDate; while( select.options.length ){select.removeChild( select.options[0] );} for(var d=1;d<=days[Month-1];d++){ var option = select.appendChild( document.createElement('option') ); option.value = d; option.text = d; option.select = ( Year==NowYear && Month==NowMonth ) ? ( ( d==NowDate ) ? 'selected' : false ) : ( ( d==1 ) ? 'selected' : false ); option.disabled = ( Year==NowYear && Month==NowMonth ) ? ( ( d<NowDate ) ? 'disabled' : false ) : false; } } </script>

  • 2個選択することで初めて表示というのができない

    <!DOCTYPE html> <html> <head> <title>プルダウンのメニューを表示を2つ設定</title> <script> function selectboxChange() { var value = document.forms.form1.Select1.value; var target = document.getElementById("output"); if (value == "要素1") { target.innerHTML = "合っています。"; } else { target.innerHTML = "間違っています。"; } } //--------------------- // function selectboxChange11() { var value = document.forms.form11.Select11.value; var target = document.getElementById("output11"); if (value == "要素11") { target.innerHTML = "合っています。"; } else { target.innerHTML = "間違っています。"; } } </script> </head> <body> <div>プルダウンのメニュー1</div> <form name="form1" action=""> <select id="Select1" onchange="selectboxChange();"> <option>---</option> <option value="要素1">要素1</option> <option>要素2</option> <option>要素3</option> <option>要素4</option> <option>要素5</option> </select> </form> <div id="output"></div> <div>プルダウンのメニュー2</div> <form name="form11" action=""> <select id="Select11" onchange="selectboxChange11();"> <option>---</option> <option value="要素11">要素1</option> <option>要素2</option> <option>要素3</option> <option>要素4</option> <option>要素5</option> </select> </form> <div id="output11"></div> </body> </html> ↑はjsの分ですが、 2個選んだら初めてイベントが発生するプログラムを作成しているのですが、 いかんせんうまくいきません。 恐らく、var value = document.forms.form1.Select1.value;のところで、躓いているのだと思います。 document.formsにカンマをつけてみたり、さらに、両端に[]をつけてみたり、いろいろ試しましたが、うまくいきません。 それとも、重ねること自体ができないのでしょうか。 どうしたらいいのでしょうか。

  • 【PHP】メールフォームの連動するセレクトボックス

    メールフォームを作っているのですが、 連動するセレクトボックスにおいて、 自動返信メールに内容が思った様に記載されません。 複数のチェックボックがあり、それぞれに連動して、 セレクトボックス1でサイズを選び、セレクトボックス2で数を選ぶようになっています。 ソースは最後に記載しますが、希望する返信メールの形は以下の通りです。 ーーーーーー現在ーーーーーー 【色 / サイズ / 数量】 S 1個 L 2個 S 3個 【料金】 (表示なし) ーーーーーー希望ーーーーーー 【色 / サイズ / 数量】 レッド S 1個 ブルー L 2個 イエロー S 3個 【料金】 S × 4個:600円 =1,800円 L × 2個:900円 =1,800円 ご教示のほど、お願い致します。 以下、ソースです。 <dt>色</dt> <dd> <label class="color"><input type="checkbox" name="color[]" id="color_01" value="レッド">レッド</label> </dd> <dd> <select class="parent" name="size_01"> <option value="" class="msg" selected>サイズを選択</option> <option value="S">S:600円</option> <option value="L">L:900円</option> </select> </dd> <dd> <select class="children" name="number_01"> <option value="0" class="msg" selected>0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select><br> </dd> <dd> <label class="color"><input type="checkbox" name="color[]" id="color_01" value="ブルー">ブルー</label> </dd> <dd> <select class="parent" name="size_02"> <option value="" class="msg" selected>サイズを選択</option> <option value="S">S:600円</option> <option value="L">L:900円</option> </select> </dd> <dd> <select class="children" name="number_02"> <option value="0" class="msg" selected>0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select><br> </dd> <以下、他の色が同様に続きます> <dt>料金</dt> <dd class="required"> <div id="result"> S:合計<span class="s maisu" name="sum_s_n" value="0">0</span>個 × 600円 = <span class="s kingaku" name="sum_s_p" value="">0</span>円<br> L:合計<span class="a maisu" name="sum_a_n">0</span>個 × 900円 = <span class="all kingaku" name="sum_all">0</span>

    • ベストアンサー
    • PHP

専門家に質問してみよう