繁体   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