使用下拉列表从XML中删除项目

时间:2011-09-01 16:36:33

标签: jquery xml drop-down-menu

我正在使用jquery来填充下拉框。这是我的代码。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" media="all" href="style.css" />
<script type="text/javascript" src="jquery.min.js"></script>
<title>Check</title>
 <script>
    $(document).ready(function(){
        $.ajax({
            type: "GET",
            url: "modules.xml",
            dataType: "xml",
            success: function(xml) {
                var select = $('#mySelect');
                $(xml).find('modules').each(function(){
                    $(this).find('MAC').each(function(){
                        var value = $(this).text();
                        select.append("<option class='ddindent' value='"+ value +"'>"+value+"</option>");
                    });
                });
                select.children(":first").text("please make a selection").attr("selected",true);
            }
        });
    });
 </script>   
</head>
<body>
<div id="page-wrap">
    <h1>Test</h1>
        <form action="test.asp" onsubmit="" method="post" >
            <select name="mySelect" id="mySelect">
                <option>loading</option>
            </select>
            <input type="submit" value="Change">
        </form>
 </div>
</body>
</html>

我想给每个下拉项目一个与其在xml文件中的位置相对应的值,但我不知道如何执行此操作。我想这样做的原因是能够从xml中删除该项目。有没有人知道如何做到这一点?

1 个答案:

答案 0 :(得分:1)

http://api.jquery.com/each/可以在函数中使用索引参数:

$(xml).find('modules').each(function(module_idx){
  $(this).find('MAC').each(function(mac_idx){ 

通过它,您可以使用类似$(xml).find('modules').eq(module_idx).find('MAC').eq(mac_idx)

的内容在XML文件中找到它