urizakaです。
現在、Jbuilder+SQL-Serverでプログラムを作っているのですが、そのなかで
SELECTタグで選択できるデータはDBから持ってきたものとし、尚且つそのタグ
部分に表示される初期値がDBから持ってきたものとしたいのですが、これは
どのようにすればよいのでしょうか?
(DBデータ)
 データベーステーブル名:m_Auth
 フィールド名  code_auth name_auth
1 責任者
          2 リーダー
         3 一般メンバー

 データベーステーブル名:m_staff
 フィールド名  code_staff name code_auth
1 urizaka 1
2 fukutome 2
3 fujiwara 3
4 isezaki 3

(JSPソースコードよりSELECT部分のみ抜粋)
  <SELECT name = "s_code_auth">
<%
int i;
 /** tantoushaallbeanはこのJSPで使うメソッドが入ったBeanファイルです**/
for( i = 0; i < tantoushaallbean.getcode_auth().size(); i++ ){
out.println("<option value=\"" +
/** 下記はcode_authを全て持ってくるメソッドです**/
tantoushaallbean.getcode_auth().elementAt(i) + "\">" +
/** 下記はname_authを全て持ってくるメソッドです**/
tantoushaallbean.getnameauth().elementAt(i) + "</option>" );
}
%>
</SELECT>

現在では、SELECTタグで選択できるデータはDBから持ってきたものが表示
されますが、初期状態はDB「m_staff」のcode_authがどの値であろうと、
code_authが1の責任者になっている状態です。
 すみませんが、上記の件について方法をご存知の方がいらっしゃったら
ぜひ宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

こんにちは。


intをStringに変換。お好きな方法でどうぞ。
・String s = "" + int;
・String s = Integer.toString(int);
・String s = String.valueOf(int);

Stringをintに変換。
・int i = Integer.parseInt(String);

ちなみにintとIntegerは異なるものですのでご注意下さい。
    • good
    • 0
この回答へのお礼

urizakaです
参考になりました。
ありがとうございます。

お礼日時:2001/07/06 10:07

こんにちは。


A.equals(B)はオブジェクトの比較ですのでintの比較では使用できません。
if文ではm_staff.code_authと一致する<OPTION>タグにSELECTEDを付ける
のですから、

・Stringの場合
if([m_staff.code_auth].equals([m_auth.code_auth])){}

・intの場合
if([m_staff.code_auth] == [m_auth.code_auth]){}

[]内はそれぞれの値

となると思うのですが...
間違っていたらごめんなさい。

この回答への補足

urizakaです
なるほど、intとStringだと比較の仕方が違うと…
でも、この場合はメソッドで持ってきた値はStringで、変数iは
intなので、普通の方法で比較はできないことになってしまうんですよ
ね。
では、intの値をStringと比較したい場合はどうするのでしょう?
(いや、原則としておかしいことではありますが。確か、Stringをintに、
あるいはその逆にCastすることはできなかったと思いますし…)

すみませんが、この件についてご存知でしたら教えてください。

補足日時:2001/07/05 18:18
    • good
    • 1

こんにちは。


初期表示したい<OPTION>タグにSELECTED属性を付けて下さい。

<SELECT name = "s_code_auth">
<OPTION VALUE="">xxx</OPTION>
<OPTION VALUE="" SELECTED>yyy</OPTION>
<OPTION VALUE="">zzz</OPTION>
</SELECT>

yyyが初期選択されます。

この回答への補足

urizakaです

なるほど、SELECTEDですね。
ということはループ文を使って、該当するものが現れるまで処理を続ければ
…と思い、以下のようなソースコードを書いてみたのですが

<%
int i;
for( i = 0; i < tantoushaallbean.getcode_auth().size(); i++ ){
out.print("<option value=\"");
out.print(tantoushaallbean.getcode_auth().elementAt(i));
if (parseInt(tantoushaallbean.gets_code_auth()).equals(i)){
out.print("selected");
}
out.print("\">");
out.print(tantoushaallbean.getauthname().elementAt(i));
out.print("</option>\n");
}
%>
 しかし、parseInt(tantoushaallbean.gets_code_auth()).equals(i)
でトラブルが起き、処理が上手くいきませんでした。
 他にも
 i == parseInt(tantoushaallbean.gets_code_auth())
や、一度別のテキストボックスに入れて処理してみるという方法も試し
ましたが駄目でした…
 すみませんが引き続き、分かる方どうぞ教えてください
 宜しくお願いします。

補足日時:2001/07/05 16:46
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルにプルダウンメニュー

エクセルにプルダウンメニューの作成方法を教えて下さい。

Aベストアンサー

メニュー[データ]-[入力規則]-[リスト]で設定できます。

参考URL:http://www2.odn.ne.jp/excel/waza/validation.html#SEC1

QJSの select option

JS初心者です、プルダウンメニューを検索で探し
何とかフォームに送っています。
---------
選択
6月26日
6月27日
6月28日
6月29日
6月30日
7月1日
----------
1)、選択と6月26日の間に「なし」を入れたいのですが可能ですか?
可能な場合、ユーザーが未選択の場合は、 現在表示していない、value=""になるところをvalue="なし"に自動で「なし」になって欲しいのです・・・
※(「なし」も選択できるし、選択しない場合も「なし」になって欲しい。)

2)、IEでたまに入力フォームに戻るとエラーが出ます。
(Fxでは出ません。このJSをつけてから出ます)内容は
ライン:25 文字:1 エラー:オブジェクトでサポートされていないプロパティまたはメゾットです。 コード:0 URL:https://・・・
その時は、プルダウンの最上部の「選択」しか無くなって(月日部分が無い)しまうのです・・・(T_T)

1)、2)片方だけでも回答ヨロシクお願いします。
-------------------------------------------------
<select id="○○" name=xxx><option value="$in{'day'}" selected>選択</option></select>

---↑ html ---↓ 外部.jsの一部 ----

x_list=1
for(i=start_date;i<=end_date;i++){
x_date=new Date()
x_date.setTime(x_date.getTime()+(i*24*3600*1000));
x_yy=x_date.getYear();
x_mm=x_date.getMonth()+1;
x_dd=x_date.getDate();
if(x_yy<2000){x_yy+=1900;}
s_obj.options[x_list]=new Option(x_mm+"月"+x_dd+"日",x_yy+"/"+x_mm+"/"+x_dd);
x_list++;
}

JS初心者です、プルダウンメニューを検索で探し
何とかフォームに送っています。
---------
選択
6月26日
6月27日
6月28日
6月29日
6月30日
7月1日
----------
1)、選択と6月26日の間に「なし」を入れたいのですが可能ですか?
可能な場合、ユーザーが未選択の場合は、 現在表示していない、value=""になるところをvalue="なし"に自動で「なし」になって欲しいのです・・・
※(「なし」も選択できるし、選択しない場合も「なし」になって欲しい。)

2)、IEでたまに入力フォームに戻るとエ...続きを読む

Aベストアンサー

#1です。
部分的な事ならなんとかなるかと思ったけど、
CGIのソースはもちろんどんな機能のものかもわからないし、
(やりたい事もその対処方法も)やっぱりよくわからないです。降参です。

>cgiのエラーライン:25は、headのcssで以前からあって問題ないんはず
エラーラインはJavascriptが書かれている行を指します。(Javascriptエラーですから)
エラーが出ている状態でソース表示をして行を特定してますか?
(Javascriptが外部ファイルである場合はその外部ファイルの行番号になります。)

Qエクセルのプルダウンで数字の後ろの英語を入れて・

エクセルのプルダウンで数字の後ろの英語を入れて、
プルダウンをすると、数字が増えません。
(例)
83559oewe
83559oewe
83559oewe
83559oewe
83559oewe




そうではなく、下記のようにしたいのですが
(以前のエクセル2003では出来ていた)
83559oewe
83560oewe
83561oewe
83562oewe
83563oewe




どこの設定を変更したら行けますでしょうか?

Aベストアンサー

Ctrlキーを押しながらやってみてください。
だめなら、83559oeweと83560oeweを記入してから、83559oeweと83560oeweを選んで、下にドラッグコピーしてみてください。

Qselectのoptionを操作する

A、Bという2つのプルダウンメニューがあります。
Aにはaa、bb、ccという項目があらかじめ固定値で入っています。
Bは初期状態ではなにも表示されません。
Aのメニューからaaを選ぶと、Bにdd、eeという項目が表示されます。
Aのメニューからbb、ccを選んだ時はBのプルダウンメニューには何も表示されません。

Aからaaが選ばれたか判定するところまではできたのですが、Bのプルダウンメニューにdd、eeを表示させる方法がわかりません。
どのようにすればうまくいくでしょうか?

HEAD部>>
function GetMenu() {
var index = tstFrm.menuA.selectedIndex;
var str = tstFrm.menuA.options[index].value;
if (str == "aa") {
/************************************************/
/ここがわかりません
/************************************************/
}
}

BODY部>>
<form name="tstFrm" onChange="GetMenu()">
<select name="menuA">
<option value="aa">aa
<option value="bb">bb
<option value="cc">cc
</select>
<select name="menuB">
/************************************************/
/ここもわかりません
/************************************************/
</select>

menuAのvalueがaaの時に、menuBが
<option value="dd">dd
<option value="ee">ee
menuAのvalueがbbまたはccの時に、menuBが
<option value="">
となるようにしたいのです。

アドバイスお願い致します。
わかりにくくてすみません。

A、Bという2つのプルダウンメニューがあります。
Aにはaa、bb、ccという項目があらかじめ固定値で入っています。
Bは初期状態ではなにも表示されません。
Aのメニューからaaを選ぶと、Bにdd、eeという項目が表示されます。
Aのメニューからbb、ccを選んだ時はBのプルダウンメニューには何も表示されません。

Aからaaが選ばれたか判定するところまではできたのですが、Bのプルダウンメニューにdd、eeを表示させる方法がわかりません。
どのようにすればうまくいくでしょうか?

HEAD部>>
function GetM...続きを読む

Aベストアンサー

コード書いてみました。

<script><!--
function GetMenu() {
 var str = document.all.menuA.value;
 if (str == "aa") {
  document.all.menuB.options[0].value="dd"
  document.all.menuB.options[0].text="dd"
  document.all.menuB.options[1].value="ee"
  document.all.menuB.options[1].text="ee"
 }else{
  document.all.menuB.options[0].value=""
  document.all.menuB.options[0].text=""
  document.all.menuB.options[1].value=""
  document.all.menuB.options[1].text=""
 }
}
//-></script>

<form name="tstFrm" >
 <select name="menuA" onChange="GetMenu()">
  <option value="aa">aa
  <option value="bb">bb
  <option value="cc">cc
 </select>
 <select name="menuB">
  <option value="">
  <option value="">
 </select>
</form>

ポイントは、
・「tstFrm.menuA」ではなく「document.all.menuA」とする。
・onChangeは(formタグではなく)selectタグに書く。

IE6で動作確認しました。

コード書いてみました。

<script><!--
function GetMenu() {
 var str = document.all.menuA.value;
 if (str == "aa") {
  document.all.menuB.options[0].value="dd"
  document.all.menuB.options[0].text="dd"
  document.all.menuB.options[1].value="ee"
  document.all.menuB.options[1].text="ee"
 }else{
  document.all.menuB.options[0].value=""
  document.all.menuB.options[0].text=""
  document.all.menuB.options[1].value=""
  document.all.menuB.optio...続きを読む

Qエクセルのプルダウン設定について

エクセルのプルダウン設定について質問です。
(オートフィルタではなく、入力規則のプルダウン)

例えば、デスクトップからスタート→プログラム→Internet のように
エクセルのプルダウンも2段階(大項目→小項目)にわけて設定することはできるのでしょうか?

どなたか教えてくださーい!

Aベストアンサー

時々出る質問です。
http://okwave.jp/kotaeru.php3?q=670969
の回答などご覧ください。「入力規則」「多段」でOKWAVEを検索しました。
(可変)範囲名を使った、良い回答がありましたが、「入力規則」にプラスするキーワードが判らず、私の回答を参考に上げます。

QJavaScript で動的に