2017-09-18 51 views
0

我需要基于我的代码中的前一个下拉框的值来获取下拉框的值我需要获取第一个名字并基于我需要在另一个下拉框中获取姓氏请查找我的代码。jquery with ajax

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    var List; 
    jQuery.ajax({ 
     url: "http://some ip address/igasp-admin/api.php/um_users?&transform=1", 
     type: "GET", 
     dataType: "json", 
     async: false, 
     success: function (data) { 
      var i; 
     List = data.um_users 
      $('#userData').empty(); 
     for (i in List) { 
       $('#userData').append('<option value="'+ List[i].last_name + '">' + List[i].first_name + '</option>'); 
       $('#userorgData').append('<option value="">'+ List[i].last_name + '</option>'); 
      } 
     } 
    }); 


}); 
</script> 
</head> 
<body> 
<select style="width: 250px;" id="userData"> 
</select> 
<select style="width: 250px;" id="userorgData"> 
</select> 
</body> 
</html> 
+0

问题是什么?控制台日志错误? - 假设Ajax有效,也发布一个数据的例子。以及为什么异步错误? – mplungjan

+0

我在第一个下拉列表中输入名字,在第二个下拉列表中输入姓氏,但是当我从下拉列表中单击firstname时,应该根据第一个下拉列表中的值选择 –

+0

为什么?如果有两个具有相同的名字怎么办? – mplungjan

回答

0

你的意思是

$('#userData').append('<option value="'+ List[i].last_name + '">' + List[i].first_name + '</option>'); 
$('#userorgData').append('<option value="'+ List[i].last_name + '">' + List[i].last_name + '</option>'); 

,然后有

$('#userData').on("change",function() { 
    $('#userorgData').val(this.value); // both have the same lastname as value 
}); 

正如

$(function() { 
 
    $('#userData').on("change", function() { 
 
    $('#userorgData').val(this.value); // both have the same lastname as value 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
<select id="userData"> 
 
    <option value="">Please select</option> 
 
    <option value="Lennon">John</option> 
 
    <option value="McCartney">Paul</option> 
 
    <option value="Harrison">George</option> 
 
    <option value="Star">Ringo</option> 
 
</select> 
 
<select id="userorgData"> 
 
    <option value="">Please select</option> 
 
    <option value="Lennon">Lennon</option> 
 
    <option value="McCartney">McCartney</option> 
 
    <option value="Harrison">Harrison</option> 
 
    <option value="Star">Star</option> 
 
</select>

+0

请你详细说明一下:) –

+0

给选择相同的值(这里是姓氏)。那么当你改变第一个下​​拉菜单时,第二个下拉菜单将会跟随。我无法理解此功能的价值 - 取而代之的是一个姓氏下降,名字为 – mplungjan

+0

请参阅示例更新 – mplungjan

0

如果您希望根据名称的选择自动选择姓氏,则应在第一个选择的“onchange”上运行第二个ajax。

我的问题是听第一个select的“onchange”,然后发送一个ajax请求,发送select的值(希望是表的id),并在PHP端使用该id来获得lastname然后遍历第二个选择的选项并找到匹配的“值”,找到时,将该选项设置为“selected”