使用 Jquery 的下拉菜单的默认选择值

Posted

技术标签:

【中文标题】使用 Jquery 的下拉菜单的默认选择值【英文标题】:Default selected value of dropdown menu using Jquery 【发布时间】:2015-07-01 07:11:48 【问题描述】:

我有 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菜鸟)可以理解:)

【问题讨论】:

请仅发布代码的相关部分 IMO 这一切都属于一起,因为我不知道从哪里开始,我认为当你有更多代码时可能会更容易提供帮助.. 一点也不..用最少的代码重现你的问题 - 这太多了 - 你的例子可以用不超过 7 行的代码来重现 - 让它这样 你在搜索this @ Orifjon 不,但 thx^^ @ Nicholas Kyriakides 好的,我希望够短 【参考方案1】:

您可以在填充下拉选项时检查服务器的响应

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); 
 );

【讨论】:

以上是关于使用 Jquery 的下拉菜单的默认选择值的主要内容,如果未能解决你的问题,请参考以下文章

jquery依赖下拉菜单选择

jquery在下拉菜单中找到所选项目的值

在AngularJS中为依赖下拉菜单选择默认值[重复]

使用Angularjs在选择下拉菜单中设置默认值

如何选择默认值下拉菜单

jQuery+PHP+MySQL实现二级联动下拉菜单