2017-09-18 88 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」