簡體   English   中英

從下拉菜單中自動填充兩個輸入框

[英]Auto-populate two input boxes from a dropdown menu

我試圖從一個mysql db表中獲取兩個變量,一旦用戶選擇了一個下拉選項,該表應該自動填充。

一旦選擇了團隊,下拉菜單將顯示一個團隊列表,輸入框將顯示隊長和副隊長的姓名(實際上,它只會在后端捕獲其MemberID並將其保存在表格中)

我已經能夠使用Javascript函數和Ajax來獲取一位隊長的名字。 那部分工作正常。

我要的是得到第二個隊長的名字/身份證。

我的HTML / PHP代碼在這里:

 <script type="text/javascript" src="js/capt-dropdown.js"></script> ... <table> <?php $x = 0; ?> <tr style="background-color:#FFF9C4"> <td>Select Team: </td> <td><select name="teamcode" id="teamcode"> <option disabled selected value> - Select Team - </option> <?php $sql_select = mysqli_query($conn, "SELECT teamcode, team FROM team"); while ($row = mysqli_fetch_assoc($sql_select)){ echo '<option value = " '.$row['teamcode'].'"> '.$row['team'].' </option>'; } ?> </select> </td> </tr> <tr> <td>Captain 1: </td> <td><input type="text" name="captain1" id="captain1"></td> </tr> <tr> <td>Captain 2: </td> <td><input type="text" name="captain2" id="captain2"></td> </tr> </tr> </table> 

JS文件:capt-dropdown.js

 $(document).ready(function() { $("#teamcode").change(function() { var team = $(this).val(); if(team != "") { $.ajax({ url:"get-captain.php", data:{teamcode : team}, type:'POST', success:function(response) { var resp = $.trim(response); $("#captain1").html(resp); } }); } else { $("#captain1").html("<option value=''>--- Select ---</option>"); } }); }); 

php文件:get-captain.php在這里:

 if(isset($_POST['teamcode'])) { $teamcode = trim($_POST['teamcode']); $sql_select = mysqli_query($conn,"SELECT surname, preferred_name, memberid FROM member WHERE memberid in ((SELECT captain FROM captain WHERE year = YEAR(CURDATE()) AND teamcode = '$teamcode'), (SELECT vcaptain FROM captain WHERE year = YEAR(CURDATE()) AND teamcode = '$teamcode'))"); while ($result = mysqli_fetch_assoc($sql_select)){ $name = ($result['surname']. ', '.$result['preferred_name']); echo '<option value = " '.$result['memberid']. '">'.$name.'</option>'; } } 

成員表包含成員的姓名,姓氏和成員ID隊長表包含團隊隊長的歷史數據隊長表

get-captain.php中的查詢正在運行,並且能夠檢索船長和vcaptain的名稱和ID。

閱讀了幾篇文章,但找不到與我在這里所做的相似的事情。

任何人都可以建議如何獲取第二隊長(副隊長)的詳細信息嗎? (即,顯示他的名字並獲取他的會員ID)

請注意:這是包含許多其他信息的表格的一部分,因此,如果我在此處剪切和粘貼時錯過一行,我深表歉意。

先感謝您。

抱歉,由於我的代表,我無法發表評論,但是隊長1和2是輸入,為什么您要回顯選項標簽並將其插入隊長1中。

您應該更改get-captain.php以獲取關聯數組並echo json_encode($array); 然后,您的JavaScript可以解析json數組var array=JSON.parse(response); 最后將數組值放入輸入中

$("#captain1").html(arr[0]["surname"] + "," + arr[0]["preferred_name"]);
$("#captain1").val(arr[0]["memberid"]);
$("#captain2").html(arr[1]["surname"] + "," + arr[1]["preferred_name"]);
$("#captain2").val(arr[1]["memberid"]);

如果您與兩個以上的隊長打交道,那么您可以遍歷數組並添加一個計數器。 希望我從來沒有善於解釋,這是有道理的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM