こんにちは。やりたい内容の全貌は、以下です。

・画面遷移させずに
・データベースの内容を利用して
・セレクトメニューの内容をかえる

イベントが発生したらJavascriptでxmlDOMをロードする。
(実際はxmlを生成するASPページを呼び出す。ここでデータベースに接続して、必要な項目をxmlタグのValueにセットする。)
xmlDOMのノードから値を取り出して、新しいセレクトメニューを作成したい。

というものですが、DOMの値を取り出すループとセレクトメニューを1項目ずつ作成するループの関連付け、それを既存のセレクトメニューと置き換える、方法がわかりません。わかりやすいサンプルなどがあるとよいのですが。。。
みなさまよろしくお願いします。

A 回答 (1件)

こんにちはさん、xruzです。

こんな感じでしょうか?
Window2000sp1+Ie5.5sp2+MSXML3.0sp2で動作確認済み。

[html]

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>xml</title>
</head>
<script type="text/javascript">
<!--
var xXml=new ActiveXObject("Microsoft.XMLDOM");
xXml.async=false;
function getOptList(x) {
xXml.load(x);
// 既存のOption削除
document.f.s.options.length=0;
// 新規Option作成
var optList=xXml.documentElement.childNodes;
with(document.f.s) {
options.length=optList.length;
for(var i=0;i<optList.length;i++) {
options[i].value=optList[i].getAttribute("value");
options[i].text=optList[i].firstChild.nodeValue;
}}
}
//-->
</script>
<body>
<form method="post" action="a.asp" name="f">
<select name="s" size="1">
<option value="a">aaa<option value="b">bbb<option value="c">ccc
</select>
<input type="button" value="changeOption" onClick="getOptList('optlist.xml')">
</form>
</body>
</html>

[xml:optlist.xml]

<?xml version="1.0" encoding="Shift_JIS"?>
<lists>
<opt value="green">緑</opt>
<opt value="blue">青</opt>
<opt value="red">赤</opt>
</lists>


がんばってくださいね(~:~i
    • good
    • 0
この回答へのお礼

めちゃめちゃわかりやすいです!
OkWebって、本当、「世の中にはいい人がいるにゃあ」と感動させてくれます。
ありがとうございました。(^o^)

お礼日時:2002/02/22 14:42

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

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


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ