使用Jquery

时间:2015-04-23 08:23:51

标签: javascript jquery mysql drop-down-menu

我有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>&nbsp;</br></br>
    Regal:</br></br> <select name="printertype" id="printertype" disabled="disabled" >
    <option value="">Auswahl:</option></select>&nbsp;</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)可以理解:)

1 个答案:

答案 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); 
 });
}