0

私が使用している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

4

1 に答える 1

1
$(document).ready(function () {
    $('select').click(function(){
        $(this).children(':eq("0")').hide();
        $(this).unbind('click');
    });
}); // untested Code

編集:

これを試してください...

$('select').one('mousedown',function(){
    $("option:first",this).remove();
});

私はこれで混乱していました..最後にSOでこれを尋ね、最終的に美しい答えを得ました..

于 2013-05-07T16:39:26.053 に答える