
いつもお世話になっています。
今、下記のような感じでコンボをセットしてます。
JSPでのコーディングです。
得意先のデータ数をカウントして、(wk.getCnt_sak())
その分ループをまわしてます。で、
wk.getCmb_sak()[k]で、データをセットしています。
<SELECT NAME="SAK">
<%
for(int k=0; k < wk.getCnt_sak(); k++){
%>
<OPTION><%= wk.getCmb_sak()[k] %>
<%
}
%>
</SELECT><BR>
で、うまくセットされているんですが、
質問があります。
更新処理をするときに、この得意先が必要なんですが、
このコンボには、得意先名のみを表示しております。
そして、更新処理に必要なのは、得意先コードです。
たとえば、得意先名が重複したデータがある場合、
得意先コードは限定されません。(コードがKeyです)
なので、VBでは、ItemDataというプロパティがあって
コンボをセットするとき、データのインデックスが
オプションでつけれたので、そのインデックスを
取得していたのですが、
この場合はどのようにすればいいでしょうか??
2次元配列を作っておいて
コードと名前を対応させるしかないですか?
もっと簡単な方法ってあるのでしょうか??
教えてください。。。
No.2ベストアンサー
- 回答日時:
No.1の回答が一般的なものだと思いますが、
後々の拡張のために、こんなこともできますというおまけ。
『2次元配列を作っておいてコードと名前を対応させるしかないですか? 』
これのJavaScript的実現方法です。
<SCRIPT Language = "JavaScript" type="text/JavaScript">
<!--
var sak = new Array();
//sak[0] = new Array("001","株式会社くろ");
//sak[1] = new Array("002","株式会社くろ");
//こういうのをJavaで吐き出す
<%
//for(int k=0; k < wk.getCnt_sak(); k++)
out.println("sak["+k+"]= new Array(\""+wk.get("取引先コード値")+"\",\""+wk.getCmb_sak()[k]+"\"");
%>
function chgSak(i){
//HIDDENタグに値を入れる
//取引先コード値
document.DATA.SAKCODE.value = sak[i][0];
//取引先名前
document.DATA.SAKNAME.value = sak[i][1];
}
-->
</SCRIT>
<BODY>
<FORM name='DATA'>
<INPUT type="hidden" name="SAKCODE">
<INPUT type="hidden" name="SAKNAME">
<SELECT NAME="SAK" onChange="chgSak(this.selectedIndex)">
<%
//ここ、Javaコードとテキストと混ぜないほうがいいですよ!
for(int k=0; k < wk.getCnt_sak(); k++){
out.println("<OPTION>"+ wk.getCmb_sak()[k]");
%>
</SELECT>
</FORM>
</BODY>
この回答への補足
kuro_73さん、いつもお世話になってます!
>これのJavaScript的実現方法です。
いつも思うのですが、私が問題につまったとき、
だいたいのケースでスクリプトが登場するのですが、
JSPやServletを使う場合、スクリプトなしには
語れない!って感じなのですか?
よくスクリプトのことをわかってないので
そういうふうに感じます。
勉強の必要性はかなりありますか?
サンプルコードありがとうございます!
参考にさせていただきました。
>後々の拡張のために
というのは具体的な例をあげると、
どんなことが便利なんでしょうか。
まだまだわからないことだらけです。
ありがとうございました!
No.1
- 回答日時:
以下のようにOPTIONタグの値に取引先コードを設定すればいいのでは?
> <SELECT NAME="SAK">
> <%
> for(int k=0; k < wk.getCnt_sak(); k++){
> %>
> <OPTION value="<%= 取引先コード値 %>"><%= wk.getCmb_sak()[k] %>
> <%
> }
> %>
> </SELECT><BR>
この回答への補足
spoonyさん、早い回答ありがとうございます!!
タグ自体もあまりよく知らないまま
作ってるので、こういう初歩的な問題に
すぐぶち当たってしまいます。。
ありがとうございました!
Valueを使ってみます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ループ処理の際、最後だけ","を...
-
総称型ArrayList<E>への参照...
-
論理演算子”||”またはの入力方法
-
Javaでキーボードから入力され...
-
javaで入力した数字の順番を記...
-
java 入力 3 4 3 出力 ABC DEFG...
-
java for文 boolean型
-
Java キーボードから負の数が入...
-
for文を使った累乗の計算方法に...
-
2つのスクロールバーを連動させ...
-
続・ZZZ,ZZZ,ZZ9形式の金額形式...
-
文字列から数字を取り出す方法
-
コマンドライン引数の例外処理...
-
java 拡張for map
-
キーボードから10人分の点数を...
-
(急いでいます)Javaで3回間違...
-
繰り返しによる星印の出力
-
System.err. printlnとSystem.o...
-
IF関数でEmpty値を設定する方法。
-
C言語のポインターに関する警告
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ループ処理の際、最後だけ","を...
-
java キーボード入力された値の...
-
続・ZZZ,ZZZ,ZZ9形式の金額形式...
-
数値⇒漢数字変換 java
-
論理演算子”||”またはの入力方法
-
テキストボックスに入力された...
-
Randomメソッドの確率設定
-
javaです。 途中まで出来ている...
-
繰り返しによる星印の出力
-
【JAVA <identifier>がありま...
-
Ctrl+Zが入力されると終了する...
-
7つ数字を表示したら改行すると...
-
Java 配列 勝敗、引き分け判定...
-
Java 配列<選挙>
-
countに実行した回数をいれたい...
-
(急いでいます)Javaで3回間違...
-
要素数が10の配列で、乱数0~9...
-
Java 入力した整数値の合計を、...
-
コマンドライン引数の例外処理...
-
javaプログラムについて
おすすめ情報