• ベストアンサー
  • 困ってます

既に表示されているドロップダウンリストの中身を変える・・・(VbScript)

  • 質問No.13302
  • 閲覧数612
  • ありがとう数11
  • 回答数2

お礼率 59% (28/47)

VbScriptを使用して、既に画面表示されているドロップダウンリストの中身を変えたいのですが可能でしょうか?
友人には、それはjavascriptじゃないとできないのでは?
といわれたのですが。
よろしくお願いします。

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 45% (5/11)

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件)

  • 回答No.2

ベストアンサー率 67% (21/31)

VBScript でも行うことができます。
ただし、ブラウザとして、Internet Explorer 4 以上でのみ利用することができます。
JavaScript は、Internet Explorer 4, Netscape などで利用することができます。

また、この処理は ASP ではなく、DynamicHTML の処理となります。ASPのスクリプトは、IIS サーバーで処理されるのに比較して、ブラウザに表示されているオブジェクトを処理する場合は、ブラウザがスクリプトを処理します。

DynamicHTML に関するマイクロソフトの開発ドキュメントは、下記の参考URLにあります。
いろいろな書籍も出版されていますので、参考にしてはいかがかと思います。

なお、ASPの次期バージョンとして、ASP+ がベータ版として公開されています。
ASP+ では、コンボボックの追加などの処理もサーバー側で行うことができるようになっています。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ