|
|
|
|
|
本文將用例子介紹如何動(dòng)態(tài)填充下拉列表(DropDownList)例如HTML Select元素,本例介紹在點(diǎn)擊按鈕后,使用jQuery從XML獲得HTML Select元素來填充下拉列表。
XML將被讀取和解析,然后使用jQuery逐個(gè)將來自XML的Node數(shù)據(jù)作為Items(Options)添加到DropDownList。
動(dòng)態(tài)填充下拉列表(DropDownList)
以下HTML標(biāo)記由HTML DropDownList和Button組成, 單擊Button時(shí),將解析XML并讀取其Node值并用于使用XML數(shù)據(jù)填充HTML DropDownList。
<html>
<head>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<br/>
<input type="button" id="btnGenerate" value="填充下拉列表" onclick="PopulateDropDownList()" />
<hr />
<select id="ddlCustomers">
</select>
<script type="text/javascript">
function PopulateDropDownList() {
//創(chuàng)建一個(gè)包含客戶記錄的XML
var xml = "<Customers>";
xml += "<Customer>";
xml += "<CustomerId>1</CustomerId><Name>John Hammond</Name><Country>United States</Country>";
xml += "</Customer>";
xml += "<Customer>";
xml += "<CustomerId>2</CustomerId><Name>Mudassar Khan</Name><Country>India</Country>";
xml += "</Customer>"
xml += "<Customer>";
xml += "<CustomerId>3</CustomerId><Name>Suzanne Mathews</Name><Country>France</Country>";
xml += "</Customer>";
xml += "<Customer>";
xml += "<CustomerId>4</CustomerId><Name>Robert Schidner</Name><Country>Russia</Country>";
xml += "</Customer>";
xml += "</Customers>";
var xmlDoc = $.parseXML(xml);
var customers = $(xmlDoc).find("Customer");
var ddl = $("#ddlCustomers");
customers.each(function () {
var option = $("<option />");
//在Text部分設(shè)置客戶名
option.html($(this).find("Name").text());
//在Value部分設(shè)置客戶Id
option.val($(this).find("CustomerId").text());
//添加選擇元素到DropDownList
ddl.append(option);
});
}
</script>
</body>
</html>
解釋:
1、先引用JQuery庫文件,推薦使用百度公共庫文件。
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
2、單擊“填充下拉列表”按鈕時(shí),將執(zhí)行jQuery單擊事件處理程序。 在jQuery click事件處理程序中,首先生成XML字符串,并將XML字符串讀入XML文檔,然后將特定節(jié)點(diǎn)(即Customer節(jié)點(diǎn))讀入jQuery對象。
然后在所有Customer節(jié)點(diǎn)上執(zhí)行循環(huán),并在循環(huán)內(nèi)部讀取CustomerId和Name子節(jié)點(diǎn)的值,并用于創(chuàng)建HTML Option元素并將其添加到HTML DropDownList。