2011-09-01 94 views
0

我正在使用jquery填充下拉框。这是我的代码。使用下拉列表从XML中删除项目

<!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

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

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

有了这一点,你可以用的东西找到它在XML文件中像$(xml).find('modules').eq(module_idx).find('MAC').eq(mac_idx)

+0

谢谢你的快速答复。这正是我想要的。 :D我想我看起来不够努力。 :■ – Jamiro14

相关问题