我是XML和java脚本的新手。我想创建一个嵌套的下拉菜单,使用java script.so从XML获取文本,每当用户将鼠标悬停在任何子菜单上时,那个特定子菜单的所有选项都将显示在另一个多级下拉列表中。图片给出了bellow.Image如下: XML中的多级html下拉菜单
这里是我的代码:
function createSelect(id, className) {
return $('<select>').attr("id", id).attr("class", className);
}
function appendDropDown(id, text, value, classAttr) {
$('<option>').val(value).text(text).appendTo(id);
}
var xml = '<root><sheet id="1" name="Submenu1"><row id="1_1"><col1>CODE</col1><col2>Option NAME 1</col2></row><row id="1_2"><col1>46.0</col1><col2>Option NAME 2</col2></row></sheet><sheet id="2" name="Submenu2"><row id="2_1"><col1>CODE</col1><col2>Option NAME 1</col2></row><row id="2_2"><col1>R2</col1><col2>Option NAME 2</col2></row></sheet><sheet id="3" name="Submenu3"><row id="3_1"><col1>CODE</col1><col2>Option NAME 1</col2></row><row id="3_2"><col1>21.0</col1><col2>Option NAME 2</col2></row></sheet>></root>',
xmlDoc = $.parseXML(xml),
$xml = $(xmlDoc);
$xml.find('sheet').each(function() {
var sheet = $(this);
var submenuName = $(sheet).attr("name");
var submenuOptionIdentifier = submenuName + "option";
//Adding options to Select Tag for Submenus
appendDropDown("#subMenuList", submenuName, submenuOptionIdentifier, submenuName);
//Creating Select Tag for showing options for the submenus
$("#optionsList").append(createSelect(submenuOptionIdentifier, "hide submenuOptions"));
//Iterating over each and every row to get the options for the respective submenus
$(sheet).find('row').each(function() {
var option = $(this).find('col2').text();
var value = $(this).find('col1').text();
appendDropDown("#" + submenuOptionIdentifier, option, value, submenuOptionIdentifier);
});
});
//Showing respective options of the submenu on changing any options
$("#subMenuList").change(function() {
$(".submenuOptions").hide();
$("#" + $(this).val()).css("display", "block");
}).trigger("change");
.hide
{
display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="wrapper">
<select id="subMenuList"></select>
<div id="optionsList"></div>
</div>
请让我知道更多的信息。谢谢。
你的代码的哪部分是你有问题? –
谢谢@JaromandaX。其实我想要的是,无论用户何时悬停在任何特定的子菜单上,那么只有该子菜单的选项才会显示在不同的下拉列表中。 – user5005768