- ベストアンサー
既に表示されているドロップダウンリストの中身を変える・・・(VbScript)
VbScriptを使用して、既に画面表示されているドロップダウンリストの中身を変えたいのですが可能でしょうか? 友人には、それはjavascriptじゃないとできないのでは? といわれたのですが。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
JavaScriptじゃないといけないと思います。 一応、サンプル関数を作ってみました function JavaKansuu( dataval, datatxt ) { var frm=document.forms[0]; var listmax = frm.combobox.length; // リストの数 var FindFlg = true; var FindNo; // 何番目に削除する機器があるか確認 for (LoopCnt=0; listmax > LoopCnt;LoopCnt++) { if(dataval == frm.combobox.options[LoopCnt].value) { FindFlg = false; FindNo = LoopCnt; break; } } if (true == FindFlg) { // コンボのリストにあったので削除する(見つけたところからずらしていく) for (LoopCnt=FindNo; listmax-1 > LoopCnt; LoopCnt++) { frm.combobox.options[LoopCnt].value = frm.combobox.options[LoopCnt + 1].value; frm.combobox.options[LoopCnt].text = frm.combobox.options[LoopCnt + 1].text; } //リストの一番下を削除する frm.combobox.length = listmax - 1; } else { // コンボのリストに無いので追加する frm.combobox.length = listmax + 1; frm.combobox.options[listmax].value = frm.combobox.options[LoopCnt + 1].value; frm.combobox.options[listmax].text = frm.combobox.options[LoopCnt + 1].text; } }
その他の回答 (1)
- kawabata
- ベストアンサー率67% (21/31)
VBScript でも行うことができます。 ただし、ブラウザとして、Internet Explorer 4 以上でのみ利用することができます。 JavaScript は、Internet Explorer 4, Netscape などで利用することができます。 また、この処理は ASP ではなく、DynamicHTML の処理となります。ASPのスクリプトは、IIS サーバーで処理されるのに比較して、ブラウザに表示されているオブジェクトを処理する場合は、ブラウザがスクリプトを処理します。 DynamicHTML に関するマイクロソフトの開発ドキュメントは、下記の参考URLにあります。 いろいろな書籍も出版されていますので、参考にしてはいかがかと思います。 なお、ASPの次期バージョンとして、ASP+ がベータ版として公開されています。 ASP+ では、コンボボックの追加などの処理もサーバー側で行うことができるようになっています。