在我正在使用的jQuery函数中,我使用.get来返回一些XML数据&amp;然后用它来填充下拉框。我用于在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会这样做,但它没有效果,因为这些项不是静态的。
如何让下拉框同时显示空白/空显示值,并且实际选项列表中仍有适当数量的项目?
谢谢!
取值
答案 0 :(得分: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();
});
我自己对此感到困惑..最后asked这个就这样了,终于得到了一个漂亮的答案..