• 締切済み

リストボックスの操作について

現在、リストボックスから数字を選択してます。 この数字は数字毎に内容が決まっていて、知っている人は何も見ないで 数字を選択出来ますが、知らない人は数字に紐づいた内容を 別途紙で確認しながら、選択しなければなりません。 これが面倒なので、リストボックスの矢印をクリックしたら、内容の説明が 開いて、選択すると対応している数字が表示されるようにするには、 どうしたら、出来るのでしょうか? リストボックスの幅は数字1桁分の幅しか可能ではありません。 JavaScriptでは出来ないんですかねぇ・・・ もしそうなら何でどうすれば出来るようになるんでしょうか。 ご教示宜しくお願い致します。

みんなの回答

noname#1505
noname#1505
回答No.5

やっぱり~。 ”リストボックスの幅は数字1桁分の幅しか可能ではありません”とあったので、変だなと感じていたんです。 まずは親数字のリストボックス new Option(Optionの表示される文字,OptionのValue)なので、 new Option(notes[i],cate[i]); 選択されてる親数字 notes[fm.box.value-1];をcate[fm.box.value-1];に。 下記の様にソースを貼り付ける事は、本当は親切ではありませんよ~。 今回のソースは一例という意味で捉えてください。

全文を見る
すると、全ての回答が全文表示されます。
noname#1505
noname#1505
回答No.4

IE限定。 他の方法はDBを使ったりXMLDOMやサーバーサイドで行うことで可能でしょう。 <html><head><script language="JavaScript"> var cate=new Array(1,2,3,4,5,6,7,8,9); var notes=new Array( "欠勤","有給休暇","・・・","・・・","・・・","・・・","・・・","・・・","最後"); var data10=new Array(10,20,30,40,50,60,70,80,90); var data100=new Array(100,200,300,400,500,600,700,800,900); function init(){ for(var i=0;i<cate.length;i++){ fm.box.options[i]=new Option(cate[i],cate[i]); } showdata(); fm.box.options[0].selected=true; fm.box.focus(); document.fm.data.visibility="visible"; } function showdata(val) { document.all.note.innerText = notes[ fm.box.value-1 ]; if(fm.box.value==1){ for(var i=0;i<data10.length;i++){ fm.data.options[i] = new Option(data10[i], data10[i]); } }else{ for(var i=0;i<data100.length;i++){ fm.data.options[i] = new Option(data100[i], data100[i]); } } } </script></head> <body onLoad = "init()" style="font-size:9pt;"> <form method = "post" name="fm"> <table border="1"> <tr><th>親数字</th><td> <select name="box" onChange="showdata(this.value)"></select> </td><td> <div id="note" style="width:150px; height:10px;font-size:9pt;background-color:#000000;color:#ffffff;"></div> </td></tr> <tr><th>子数字</th><td colspan="2"> <select name="data"></select> </td></tr><tr><td colspan="3"> <input type="button" value="Check"onClick="alert(fm.box.value+'\n'+fm.data.value)"> </td></tr></table></form></body> </html>

minekichi
質問者

補足

こんなに親切に作って頂いたのに申し訳ございませんが、ちょっと伝え方が悪かったのかもしれません。 作って頂いたコンボの矢印をクリックすると今は数字がビロ~ンって 選べるように表示されますよね?それを欠勤とか有給休暇とか説明内容 の方で選びたいのです。 で、その説明内容から該当するものを選ぶと、その説明に紐ついている 数値が矢印の横に現在のように表示されて欲しいのです。 こんなこと出来ないのでかなぁ。 と言うのは、コードに紐付いている説明を知っている人が入力するので あればいいのですが、知らない人はいちいち説明が載っている紙を 見て選択しなければならないので、不親切に思ったのです。 もしJavaScriptで出来なければ、他の作り方でも良いのですが 知っていたら教えてください。 宜しくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。
noname#1505
noname#1505
回答No.3

確認したいのですが、 ・最初に選択する数字は[0-9]の範囲の数字をもつリストボックス? ・それぞれ別の説明文をもっている? ・矢印クリックってあるがリストを選択したらではないのか? ・説明文は別のサブウインドウを開く? ・選択するのはリストボックスそれともサブウインドウ? ・最初の数字リスト確定後、表示する数字は別のリストボックスへ表示?

minekichi
質問者

補足

上から順にお答えいたします。 (1)コンボボックス内には1~9までの数値のうち1がデフォルト表示されていて、矢印をクリックして選択しようとした時に、1~9に割り当てられている説明内容が表示されて欲しいのです。 (2)例えば1が欠勤、2が有給休暇とかです。 (3)コンボボックスのことです。 (4)そうですね。説明内容を選択出来て、コンボの表示枠にはそれに 該当した番号が表示されて欲しいのです。 (5)矢印をクリックした時にjAVASCRIPTで出来れば最高なんですが、 出来なければ、簡単に出来る方法で表示出来ればよいです。 (6)いいえ、コンボなので、矢印をクリック後に説明を選択し該当する 番号を矢印横のエリアに表示したいです。 以上、この説明で可能でしょうか。 宜しくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。
noname#1505
noname#1505
回答No.2

修正と補足: dataは複数あってもかまいません。 select 又は if else で振り分けてください。 var data1 = new Array("------", "100"."200"); var data2 = new Array("------", "100"."200");

minekichi
質問者

補足

あまり詳しくないので、実際これをどのように組み込んで行き、動かすところまで たどり着くのか解りません。 結構、複雑なんですね。動作確認してみたいのですが、そこまでは ご教示願えないですか? 宜しくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。
noname#1505
noname#1505
回答No.1

自分でもやってみましたが、あまりにも込み入った処理なのでここに記述は難しいのでポイントだけ。 一つ一つ確かめながらやってください。 まず、初期数字、内容、対応する数字をfunctionの外でarray又はobjectに格納します。 配列の要素0はデフォルト値を設定しておくとよいです。 var cate = new Array("内容の選択", "内容1", "内容2"); var num = new Array( 0,1,2); var data = new Array( 100,200,300); onLoad時に初期数字と内容をOptionに追加します。ついでに対応する数字フォームの初期値を設定。 例) fm.box.options[i]=new Option(cate[i],num[i]); fm.data.options[0]=new Option(data[0],data[0]); * <form name="fm"> <select name="box"></select> <select name="data"></select> onChangeでdivエリアに内容を表示させる 例) document.all("note").innerText = notes[i]; * <div id="note"> 前回のonChange又はbuttonのonClickでfm.box.valueに対応する数字をOptionに追加 select又はif else fm.data.options[i]= new Option(data[i], data[i]); new Array()以外の処理を複数の関数にいれて呼び出します。 対応する数字フォームを非表示にする処理は含まれておりません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • リストボックスを、右クリックでセレクトしたい

     お世話になります。  リストボックスがあり、そのリストに対して左クリックと右クリックで、javaScriptの動作を分けたいのです。  詳しくは、 ・左クリックでも右クリックでもリストをセレクト ・左クリックはセレクト+別スクリプト ・右クリックはセレクトのみ ・・・という挙動にしたいのですが、右クリックでリストを選択する or 右クリックされたリストのオプション番号を取得するなどの 方法が分からないのです。  どなたか経験のある方、ご教示いただけませんでしょうか??

  • リストボックスについて

    リストボックスの横幅は指定できるのでしょうか? リストボックスの見栄えを良くするため、リストボックス内にテーブルを使用 したいのですが可能でしょうか? 下図のように、コード+名称を1つの選択項目とする為、コードと名称の  桁位置を固定したいのですが、、、   aaa あああ bb いいいいい ccc ううううう 環境はIEです、宜しくお願いします 

    • ベストアンサー
    • HTML
  • リストボックスで表示

    例えばhtmlページに [ID、名称(text)]、[あ、い(リストボックス)] があってID,名称を入力して(その下に3つぐらい項目があって) リストボックスで「う」、「え」 と二つあり「う」を選択したら本かパソコンを入力できるようにでき、 「え」と選択したら同じように選択できるようにはどうしたらいいですか。 なお表示されるページはリストボックスの中を変えたら表示される (同じhtml内で) 本を選択したらID,名称,本(リストボックス)であとは見えなくする(Focus)にはどうしたらいいですか もしかしてこれってjavascriptじゃないとできない?

  • エクセルのコンボボックス 選択リストを未選択にする

    よろしくお願いします。 エクセル2007でコンボボックスを設定しました。 リストはあらかじめ別シートで作成してあります。 矢印をクリックするとリストが選択されるようになり、設定はこれでよいだろうと思うのですが、 何も選択していない状態を表示したいのです。 一旦リストを選択してしまうと、リスト内のどれかを選ばなくてはならなくなってしまい、 何も選んでいない状態(空白)にできません。どうしたらできるか、どなたか教えてください!

  • accessでのリストボックス選択のイベント

    お世話になります。 度々で恐縮なのですが、以下の質問を よろしくお願いいたします。 accessのフォーム上にリストボックスとテキスト ボックスをはりつけ、リストボックスに表示されて いる行が選択されたら、その項目値をテキスト ボックスに表示させようとしています。 しかし、リストボックスのイベント(マウスボタン クリック時や開放時)を使ってみたのですが、 二度クリックしないとテキストボックスに表示され ません。 リストボックスの行が選択されたというイベントが あればいいのですが、見当たりません。 どうすれば、リストボックスで行が選択されたという イベントを捕まえることができるのかご教示お願い いたします。

  • VBとリストボックス

    こんにちわ。 いまVB6.0sp5でリストボックスに チェックボックス付きのリストを表示し, クリックで複数選択するロジックを組んでいます。 リストに表示するデータ件数がリストボックスの高さを超えるため, 横スクロールさせる必要があります。 そこで,2列目のキャプションをクリックすると, スクロールし,選択した行以外のチェックボックスが見た目, 消えてしまいます。 なお消えたチェックボックスの箇所をクリックすると, その行のチェックボックスが選択された状態で表示されます。 2列目のキャプションをクリックしたときに,ほかの行のチェックボックスを 消さないようにしたいのですが, どうすれば良いでしょうか? 教えてください。 宜しくお願いします。

  • EXCEL2000 リストボックスの返り値について

    はじめまして。 EXCEL2000で、ワークシート上にリストボックスを作成しました。 複数選択できるタイプなのですが、選択した内容の判断はどのように行えばよいのでしょうか。 例えば、セルA1:A5に「あ」「い」「う」「え」「お」と入力されており、これがリストボックスの内容としてリンクされています。 リストボックスから選択すると、選択した文字に対応してセルB1:B5に「1(選択)」「0(未選択)」と数字のみ入るようにしたいのですが… ワークシート上、あるいはVBAでできる方法がありましたらご教授お願いいたします。 ちなみにVBAは初心者です。

  • セレクトボックスの内容をリストで出したい

    セレクトボックスをクリックしたりすると セレクトボックスの内容が ぱっと下方へ延びてリスト表示されますが、 あの状態をjavascriptで実現したいのです。 どう指定したらよいでしょうか。 FORCUS関数では、フォーカスが移るだけだし。。 ご存知でしたら、教えて下さい。 よろしくお願いします。

  • リストボックスの値を全選択する

    エクセルのユーザーフォームにリストボックスとコマンドボタンを設置し、 コマンドボタンをクリックするとリストボックス内の値を全選択する。 という動作は出来ますでしょうか。 勉強不足で申し訳ありませんが、ご教示願います。

  • 【Excel】セルをクリックすると、リストボックスが出てくる

    【Excel】セルをクリックすると、リストボックスが出てくる エクセルで、あるセルをクリックすると リストから選択肢が出てくる(リストボックス?)ように設定したいのですが、 どのように設定するのでしょうか? (添付画像の○の部分のイメージです。) 試しに、コントロールツールボックスでやってみようとしましたが、 何だか思うように出来ませんでした。 エクセルをあまりよく知らないで恐縮ですが、 ご教示頂けますと幸いです。

このQ&Aのポイント
  • MCF-L8610CDWで複数の印刷物を印刷するとエラーが発生し、印刷が不可になってしまいます。特にメールを3件連続で印刷すると、2.3枚目でエラーが発生し、印刷ができなくなります。
  • この問題はWindows10のPCでのみ発生し、Macではエラーが起きません。解決方法としては、プリンターのデバイスを削除して再度追加することで一時的に問題を解決することができます。
  • しかし、問題が頻繁に発生する場合は、ブラザー製品のサポートに連絡することをおすすめします。ブラザー製品のサポートは、このような印刷エラーのトラブルに対応する専門知識を持っており、適切な解決策を提供してくれるでしょう。
回答を見る

専門家に質問してみよう