我尝试了以下代码来根据第一个下拉菜单加载第二个下拉菜单,并且效果很好。但是,当我第二次选择第一个下拉列表时,第二个下拉列表没有清除其内容。它正在附加值。
第二个下拉列表的选项值应该是“json_data[i].value”。但对我来说它是“json_data[i].text”
这是我在点击第一个下拉菜单时使用的代码。
$.ajax({
url: "http://foo.bar/data.json",
type: "POST",
data: {
article: produkt,
color: farbe,
size: groesse,
form: typ
}
}).done(function (data) {
var json_data = $.parseJSON(data.responseText.trim());
for(var i=0;i<json_data.length;i++) {
json_data[i].text = json_data[i].NAME;
json_data[i].value = json_data[i].VALUE;
oHandler2.add(json_data[i]);//adding
}
oHandler2.showRows(json_data.length);
});
下面是我的 html 部分,
<span class="field_outer">
<label>Main Category</label>
<div class="filter">
<select id="main_category" name="main_category" class="ddTitle select" onchange="">
<option value="0" selected>Select a main category</option>
<option value="1">category1</option>
<option value="2">category2</option>
</select>
</div>
</span><!-- /.field_outer -->
<span class="field_outer">
<label>Sub Category</label>
<div class="filter">
<select id="sub_category" name="sub_category" class="select" onchange="">
<option value="0" selected>Select a sub category</option>
</select>
</div>
</span>
请帮忙;预先感谢:-)
最佳答案
destroy - 恢复原来的dorpdown。
var oDropdown = $("#element").msDropdown().data("dd");
oDropdown.destroy()
刷新 - 根据原始下拉列表刷新 msdropdown UI 和值。
var oDropdown = $("#element").msDropdown().data("dd");
oDropdown.refresh(); //or
document.getElmentById("element").refresh();
有关详细信息,请检查 -
http://www.marghoobsuleman.com/mywork/jcomponents/image-dropdown/samples/index.html
关于javascript - msdropdown - 基于第一个下拉列表加载第二个下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24052337/