Optionの選択について
-
0 名前: れびん : 2007/05/02(水) 17:19 ID:FNaOhIHr sub-L7
- 1ページに複数のコンボボックスがあり、あるひとつのコンボボックス(@)の値を
変更したときに、他のコンボボックス(A)の値も同じものを選択する仕組みを
下記のようなJavaScriptのコードで実現しました。
(下記AAはAのコンボボックスの名前)
var select_cd = "00" //@で選択した項目のvalue値
var len = document.all.item("AA").item(0).length;
for(j=0; j<len; j++){
list_CD = document.all.item("AA").item(0).options[j].value;
if(list_CD == select_cd){
document.all.item("AA").item(0).selectedIndex = j;
break;
}
}
しかし、Aのコンボボックスの選択項目が1000以上ある為、処理に時間がかかってしまいます。
(Aのようなコンボボックスが画面に100個程度ある場合、15秒かかっています)
できれば、value値から直接indexを取得する、または、indexを使わずに選択するなどの方法を使い、
ループをまわさずに実現させたいと思っているのですが、可能でしょうか。
以上、よろしくお願いします。
-
1 名前: 匿名 : 2007/05/02(水) 17:19 ID:.Cbq//5X sub-Ds
- >(Aのようなコンボボックスが画面に100個程度ある
どうみても異常なサイトですね。
JavaScriptというよりは、HTMLとかウェブデザインの問題では?
>ループをまわさずに実現させたいと
ループ以外にはないでしょう。
組み合わせがパターン化できるならリテラルでテーブルにするとか。
-
2 名前: 匿名 : 2007/05/02(水) 17:19 ID:uR8UqwGx sub-Cz
- IE 以外なら XPath を使えば良いし、IE も視野に入れるなら name の付け方を工夫すれば良いかと。
・@とAというのは、ひょっとして丸付き数字ですか。文字化けするので機種依存文字の使用は止めてくれーな。
・今どき IE 専用の document.all を使用する理由がありますか。
・変数が宣言されていたりされていなかったりには、理由がありますか。
-
3 名前: れびん : 2007/05/02(水) 17:19 ID:FNaOhIHr sub-L7
- ご回答、ありがとうございました。
社内イントラ用の既存のシステムの修正で対象ブラウザがIEのみ
であった為、あまり気にしていませんでした。すみませんでした。
また、機種依存の文字を使用してしまったことについてもお詫びします。
パターン化できないので、やはりループでやろうと思います。
ありがとうございました。