私が使用しているjQuery関数では、.getを使用してXMLデータを返し、それを使用してドロップダウンボックスに入力します。select でタグを作成するために使用するコードは<OPTION>
次のとおりです。
$.get(sURL, function(data) {
var select = $("#dList");
$(data).find("Row").each(function() {
var mgid = $(this).find("MessageGroupID").text();
var gname = $(this).find("GroupName").text();
var option = $("<option>" + gname + "</option>");
option.attr("value", mgid);
select.append(option);
});
});
解析されている XML は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<Rowsets DateCreated="2013-05-07T11:33:51" EndDate="2013-05-07T11:33:51" StartDate="2013-05-07T10:33:51" Version="1.1.1">
<Rowset>
<Columns>
<Column Description="MessageGroupID" MaxRange="1" MinRange="0" Name="MessageGroupID" SQLDataType="4" SourceColumn="MessageGroupID"/>
<Column Description="GroupName" MaxRange="1" MinRange="0" Name="GroupName" SQLDataType="12" SourceColumn="GroupName"/>
</Columns>
<Row>
<MessageGroupID>1</MessageGroupID>
<GroupName>First Shift</GroupName>
</Row>
<Row>
<MessageGroupID>4</MessageGroupID>
<GroupName>Alternate First Shift</GroupName>
</Row>
<Row><MessageGroupID>7</MessageGroupID>
<GroupName>Temporary First Shift</GroupName>
</Row>
</Rowset>
</Rowsets>
スクリプトの document.ready 部分でドロップダウンをロードする関数を呼び出します。
3 行が返されると、最初の行が常にドロップダウン ボックスに表示されます。または、空白行を先頭に追加すると、次のようになります。
var blankline = $("<option value='' selected='selected'></option>");
空白のドロップダウン ボックスが表示されますが、ドロップダウンに 4 つの項目が表示されます (空白 + 必要な 3 つ)。selectedindex= -1 を設定するとうまくいくと思いましたが、これらの項目は静的ではないため効果はありません。
ドロップダウン ボックスに空白/空の表示値を設定し、実際のオプション リストに適切な数の項目を表示するにはどうすればよいですか?
ありがとう!
S