javascriptでform操作についての質問です。


function hoge(){
document.AA.AAA[1].selected = true;
}
・・・略

<form name="AA" action="#" style="margin:0px;">
<select name="AAA">
<option value="">-- select --</option>
<option value="ABC" title="ABC" >エービーシー</option>
<option value="XYZ" title="XYZ" >エックスワイゼット</option>
</select>
・・・・略


function hoge()を呼び出せば、セレクトボックスの
<option value="ABC" title="ABC" >エービーシー</option>
を選択することができます。

しかし、下記のURLページのように、フォームを3つ連動させた場合には、
上記の命令文だと、二個目のフォームが表示しません。

http://www.skuare.net/test/jdependent.html

マウスでクリックした動作と、
selected = true の動作が違うためだと考えられます。

javascriptでなにか使えそうな命令文、同じような動作をさせる方法
など知っている方いましたら教えていただけますか?

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2010/05/16 01:01:23
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Mars No.1

回答回数203ベストアンサー獲得回数20

ポイント35pt

まじめに対処すると面倒そうですが、jQueryを使ってるならtriggerが使えるのでonchangeで実行される処理を走らせることもできそうです。

http://semooh.jp/jquery/api/events/trigger/type%2C+%5Bdata%5D/

function hoge(){
document.AA.AAA[1].selected = true;
$(document.AA.AAA).trigger('change');
}
id:kei_kikurin

なにも問題なく、スムーズにできました。お答えありがとうございます。

無回答の場合も考えて、jQueryを使わないようにして、

3時間程度javascriptで動的に書き出すようにソース書いてました。

回答者さんのおっしゃるとおり、まじめに対処してましたので、面倒でした。(^^)

まあ、なにはともあれ良かったです。

2010/05/15 00:33:39

その他の回答1件)

id:Mars No.1

回答回数203ベストアンサー獲得回数20ここでベストアンサー

ポイント35pt

まじめに対処すると面倒そうですが、jQueryを使ってるならtriggerが使えるのでonchangeで実行される処理を走らせることもできそうです。

http://semooh.jp/jquery/api/events/trigger/type%2C+%5Bdata%5D/

function hoge(){
document.AA.AAA[1].selected = true;
$(document.AA.AAA).trigger('change');
}
id:kei_kikurin

なにも問題なく、スムーズにできました。お答えありがとうございます。

無回答の場合も考えて、jQueryを使わないようにして、

3時間程度javascriptで動的に書き出すようにソース書いてました。

回答者さんのおっしゃるとおり、まじめに対処してましたので、面倒でした。(^^)

まあ、なにはともあれ良かったです。

2010/05/15 00:33:39
id:valueshare No.2

回答回数6ベストアンサー獲得回数4

ポイント35pt

jQueryのvalメソッドを使えば簡単ですね。

http://semooh.jp/jquery/api/attributes/val/val/

<!-- selectにIDを付けましょう //-->
<select id="targ_1" name="hoge">
<option value=""></option>
<option value="a">値は「a」</option>
</select>
<select id="targ_2" name="hogehoge">
<option value=""></option>
<option value="あ">値は「あ」</option>
</select>

// javascript
function hoge() {
  $('#targ_1').val('a');
  $('#targ_2').val('あ');
}

これでそれぞれのセレクトで「a」と「あ」が選択されます。

別にdocument.getElementById()でも良いけどjQuery使えばもっと簡単に操作できますよ。

id:kei_kikurin

スムーズに、且つ、簡単にできました。

ありがとうございます。

2010/05/15 00:41:33

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません