我有3个嵌套的下拉菜单,它们是从mysql数据库中动态填充的,我使用的是Jquery。我想设置一个选定的值,具体取决于我的数据库中的条目。 例如:
我有一个包含许多设备的表。每个设备都有其存储位置(房间,货架,盒子)。注意:不同的房间包含不同的包含不同框的货架,这就是我使用嵌套下拉菜单的原因。 每个设备旁边都有一个“更改”按钮。
我想要的是我的下拉菜单中已经选择了设备的当前存储位置。
这是我的JS函数的一部分(从另一个站点获取它们,我是JS的新手):
function populateComp(xmlindata) {
var mySelect = $('#manufacturer');
$('#printertype').disabled = false;
$(xmlindata).find("Company").each(function()
{
optionValue=$(this).find("id").text();
optionText =$(this).find("name").text();
mySelect.append($('<option></option>').val(optionValue).html(optionText));
});
}
这是我的HTML代码:
Raum:</br></br><select name="manufacturer" id="manufacturer" >
<option value="">Auswahl:</option></select> </br></br>
Regal:</br></br> <select name="printertype" id="printertype" disabled="disabled" >
<option value="">Auswahl:</option></select> </br></br>
Kiste:</br></br><select name="printermodel" id="printermodel" disabled="disabled" >
<option value="">Auswahl:</option></select></br></br>
<div id="loading" style="display: none;"></div>
<div id="output" ></div>
我的ajax代码的一部分:
jQuery().ready(function($){
$('#loading')
.hide() // hide it initially
.ajaxStart(function() {
$(this).show();
})
.ajaxStop(function() {
$(this).hide();
})
;
// Ajax Called When Page is Load/Ready (Load Manufacturer)
jQuery.ajax({
url: 'man_list.php',
global: false,
type: "POST",
dataType: "xml",
async: false,
success: populateComp
});
很抱歉这么多代码,我希望有人能为我提供一个很好的解决方案,我(JS noob)可以理解:)
答案 0 :(得分:0)
您可以在填充下拉选项时检查服务器的响应
function populateComp(xmlindata) {
var mySelect = $('#manufacturer');
$('#printertype').disabled = false;
$(xmlindata).find("Company").each(function()
{
optionValue=$(this).find("id").text();
optionText =$(this).find("name").text();
var $opt = $('<option> </option>').val(optionValue).html(optionText);
if(/* compare current data with your device here */) $opt.attr("selected", "selected");
mySelect.append($opt);
});
}