动态填充下拉框
Web 开发中使用的一种流行技术是创建可以显示下拉框的交互式 Web 表单取决于前面下拉框中所选值的选项。此功能通常使用 JavaScript (jQuery) 和服务器端脚本 (PHP) 的组合来实现。
示例代码说明
在此特定场景中,您是尝试根据第一个下拉框中选择的值填充第二个下拉框。提供的代码通过以下步骤完成此操作:
自定义示例
将第二个下拉框的 HTML 标记注入到 DOM 中此代码示例演示了一个自定义实现,其中第一个下拉框用于选择学生姓名。选择后,第二个下拉框会显示该学生教授的相应课程。
tester.php
<html> <head> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript"> $(function() { $('#stSelect').change(function() { var sel_stud = $(this).val(); $.ajax({ type: "POST", url: "another_php_file.php", data: 'theOption=' + sel_stud, success: function(whatigot) { $('#LaDIV').html(whatigot); } }); }); }); </script> </head> <body> <select name="students">
another_php_file.php
<?php // Database Connection $server = 'localhost'; $login = 'root'; $pword = ''; $dbname = 'test'; mysql_connect($server,$login,$pword) or die($connect_error); mysql_select_db($dbname) or die($connect_error); // Get POST Data $selStudent = $_POST['theOption']; // Query Database $query = "SELECT * FROM `class` WHERE `teacher_id` = $selStudent"; $result = mysql_query($query) or die('Fn Error: ' . mysql_error()); $num_rows_returned = mysql_num_rows($result); // Build Response HTML $r = ' <select> '; if ($num_rows_returned > 0) { while ($row = mysql_fetch_assoc($result)) { $r = $r . '<option value="' . $row['id'] . '">' . $row['name'] . '</option>'; } } else { $r = '<p>No classes taught by this student</p>'; } // Echo Response echo $r; ?>
这个定制的解决方案定制了第二个下拉框来显示基于类别的针对选定的学生,为动态填充的下拉框提供灵活且用户友好的表单体验。
以上是如何使用 jQuery 和 PHP 根据第一个下拉框中的选择动态填充第二个下拉框?的详细内容。更多信息请关注PHP中文网其他相关文章!