WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:JavaScript 動的複数リストボックス

0:[投稿] なまちゃん [2007/10/16 10:53 ] [環境:IE6 IE6]

素人です。いろいろ調べたのですが、分からないので教えて下さい。
1つのラジオボタンに対して、2つ以上のリストボックスのデータを連動させたいのですが、2つ目のリストボックスを作成すると、1つ目の連動が結果的に無効になった様な状態になってしまいます。

営業実績データ抽出のラジオボタンを押下する=
1つ目リストボックス:function HANBAIE(SELECT) {
SELECT.select.options[0].text="前月 営業実績データ抽出";
SELECT.select.options[1].text="当月 営業実績データ抽出";
SELECT.select.options[2].text="前年 営業実績データ抽出";
SELECT.select.options[3].text="当年 営業実績データ抽出";
SELECT.select.options[4].text="前当 営業実績データ抽出";
}
2つ目リストボックス:<!--営業実績データ抽出_項目-->
function HANBAIE(SELECT) {
SELECT.selkou.options[0].text="前月営業実績";
SELECT.selkou.options[1].text="地域マスター";
}
のデータが連動して表示される。

下記データは途中まで試行錯誤して作りました。
本当に素人なので、駄目な駄目な点等を教えて下さい。
お忙しいとは思いますが、宜しくお願い致します。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>FAQ 抽出ユーティリティー</title>
<!--営業実績データ抽出-->
function HANBAIE(SELECT) {
SELECT.select.options[0].text="前月 営業実績データ抽出";
SELECT.select.options[1].text="当月 営業実績データ抽出";
SELECT.select.options[2].text="前年 営業実績データ抽出";
SELECT.select.options[3].text="当年 営業実績データ抽出";
SELECT.select.options[4].text="前当 営業実績データ抽出";
}
<!--売上実績データ抽出(集約)-->
function HANBAI(SELECT) {
SELECT.select.options[0].text="前月 営業実績データ抽出";
SELECT.select.options[1].text="当月 営業実績データ抽出";
SELECT.select.options[2].text="2001 営業実績データ抽出";
SELECT.select.options[3].text="2002 営業実績データ抽出";
SELECT.select.options[4].text="2003 営業実績データ抽出";
}
<!--最新集計部門実績データ抽出-->
function HANBAIN(SELECT) {
SELECT.select.options[0].text="前3 最新集計部門データ抽出";
SELECT.select.options[1].text="前々 最新集計部門データ抽出";
SELECT.select.options[2].text="前年 最新集計部門データ抽出";
SELECT.select.options[3].text="当年 最新集計部門データ抽出";
SELECT.select.options[4].text="前年 前当 最新集計部門データ抽出";
}
<!--最新集計部門実績データ抽出2-->
function HANBAIN2(SELECT) {
SELECT.select.options[0].text="前5 最新集計部門データ抽出";
SELECT.select.options[1].text="前4 最新集計部門データ抽出";
}
<!--年度別売上実績データ抽出-->
function HANBAIY(SELECT) {
SELECT.select.options[0].text="1996 売上実績データ抽出";
SELECT.select.options[1].text="1997 売上実績データ抽出";
SELECT.select.options[2].text="1998 売上実績データ抽出";
SELECT.select.options[3].text="1999 売上実績データ抽出";
SELECT.select.options[4].text="2000 売上実績データ抽出";
}
<!--年度別売上実績データ抽出2-->
function HANBAIY2(SELECT) {
SELECT.select.options[0].text="1993 売上実績データ抽出";
SELECT.select.options[1].text="1994 売上実績データ抽出";
SELECT.select.options[2].text="1995 売上実績データ抽出";
}
<!--マスターデータ抽出-->
function MASTER(SELECT) {
SELECT.select.options[0].text="カテゴリマスター";
SELECT.select.options[1].text="テクノロジマスター";
SELECT.select.options[2].text="部門マスター";
SELECT.select.options[3].text="商品マスター";
SELECT.select.options[4].text="代理店マスター";
}
<!--営業実績データ抽出_項目-->
function HANBAIE(SELECT) {
SELECT.selkou.options[0].text="前月営業実績";
SELECT.selkou.options[1].text="地域マスター";
}
<!--売上実績データ抽出(集約)_項目-->
function HANBAIE(SELECT) {
SELECT.selkou.options[0].text="前月実績X";
SELECT.selkou.options[1].text="カテゴリマスター";
SELECT.selkou.options[2].text="顧客マスター";
SELECT.selkou.options[3].text="部門マスター";
SELECT.selkou.options[4].text="テクノロジマスター";
}
<!--営業実績データ抽出_項目-->
function HANBAIE(SELECT) {
SELECT.selkou.options[0].text="最新前3年";
SELECT.selkou.options[1].text="地域マスター";
}
</script>
</head>
<a name="1"><div style="color:white;background-color:slateblue;font-size:x-large;font-weight:bold">抽出データ調査依頼画面</div></a>
<form action=http://mail.yahoo.co.jp/config/login?/"mailto:mik.tanaka@scs.co.jp" method="post" enctype="text/plain">
<fieldset>
<legend>抽出内容</legend>
<input type="radio" name="接続サービス" value="営業実績データ抽出" onfiltered="HANBAIE(this.form)">営業実績データ抽出<br>
<input type="radio" name="接続サービス" value="売上実績データ抽出(集約)" onfiltered="HANBAI(this.form)">売上実績データ抽出(集約)<br>
<input type="radio" name="接続サービス" value="最新集計部門実績データ抽出" onfiltered="HANBAIN(this.form)">最新集計部門実績データ抽出<br>
<input type="radio" name="接続サービス" value="最新集計部門実績データ抽出2" onfiltered="HANBAIN2(this.form)">最新集計部門実績データ抽出2<br>
<input type="radio" name="接続サービス" value="年度別売上実績データ抽出" onfiltered="HANBAIY(this.form)">年度別売上実績データ抽出<br>
<input type="radio" name="接続サービス" value="年度別売上実績データ抽出2" onfiltered="HANBAIY2(this.form)">年度別売上実績データ抽出2<br>
<input type="radio" name="接続サービス" value="マスターデータ抽出" onfiltered="MASTER(this.form)">マスターデータ抽出<br><br>
<select name="select">
<option>選択して下さい。
<option>---------------
<option>---------------
<option>---------------
<option>---------------
<option>---------------
</select>
</fieldset>
<fieldset>
<legend>項目指定</legend>
<select name="selkou">
<option>選択して下さい。
<option>---------------
</select>
</fieldset>
<textarea name="message2" cols="70" rows="15">詳細をご記入下さい。</textarea>
<input type="submit" value="送信">
<input type="reset" value="クリア">
</form>
<a href=http://mail.yahoo.co.jp/config/login?/"#1">ページTOPへ</a><br><br>
</html>


1:[回答] YK [2007/10/17 09:36 ]

関数名(HANBAIExxx)を別にしてonClickで関数を2つ並べる。
しかし、onfilteredイベントって何????

function HANBAIExxx(SELECT) {
SELECT.selkou.options[0].text="前月営業実績";
SELECT.selkou.options[1].text="地域マスター";
}

<input type="radio" name="接続サービス" value="営業実績データ抽出" onClick="HANBAIE(this.form); HANBAIExxx(this.form);">営業実績データ抽出<br>


2:[質問] なまちゃん [2007/10/19 12:48 ]

ご回答ありがとうございます。しかし、ご教授頂いた通り修正致しましても、やはりHANBAIExxx(this.form)のみ連動し、HANBAIE(this.form); は連動致しません。
他に修正箇所がございますでしょうか?


3:[回答] 匿名 [2007/10/22 11:06 ]

HANBAIE(SELECT)が四つ見えるのですが全て別名にしたということでしょうか?
売上実績データ抽出(集約)_項目という部分にいたっては数が合わなくてエラーになりそうです


4:[質問] なまちゃん [2007/10/22 11:47 ]

中途半端ですみません。やりたい事は、例えば、ラジオボタンがA〜Gまであった場合、Aを選択すると、4つのリストボックスの内容が連動表示できないかということです。
ラジオボタンA選択→リストボックス1 str1("あ","い","う","え","お");表示→リストボックス2 str2("A","B","C","D","E");→→リストボックス3 str3("a","b","c","d","e");→→リストボックス4 str4("1","2","3","4","5");
*この際、リストボックス1に保有するデータは("あ"〜"ん")までです。 説明がなってなくてすみません・・・・・。

回答(必須): 状態:

お名前(必須):

URL:




[戻る]