我的表单中有2个元素。每当我在第一个选项中选择一个选项时,我想更改第二个选项。
例如,我的第一个select元素包含团队,第二个元素包含成员。数据包含在MySQL数据库中。每当我选择一个团队时,我希望第二个选择元素的选项只显示所选团队的成员。
我不知道这是否可以仅使用PHP或使用javascript来完成。如果您能向我展示一段可以在这种情况下工作的代码,那就太棒了。
谢谢, -Paul
答案 0 :(得分:1)
您需要使用Javascript来执行此操作,因为更新网页的处理在浏览器上。当用户选择团队时,需要对PHP脚本进行Ajax调用以获取详细信息。
答案 1 :(得分:0)
JavaScript无法直接从浏览器访问数据库。您需要一些服务器端脚本,例如PHP。
答案 2 :(得分:0)
Ajax是您解决问题的方法。 Ajax允许您轻松,快速地检索信息,而无需刷新页面。 您可以创建一个事件,通过Ajax发送您的php文件信息(您将处理所有内容),然后返回结果并输入您的select语句
答案 3 :(得分:0)
有很多方法可以做到这一点,哪种方式最好取决于你的能力。
正如其他人所说的,最好的方法是设置一些Ajax功能来联系一个单独的php脚本,并为它提供第一个下拉列表的值,从中返回应该放入第二个下拉列表的列表。然后,原始页面上的javascript / ajax代码将执行实际处理,以加载脚本提供给下拉列表的数据。
因为听起来你对javascript竞技场来说有点新意,所以用Ajax做事可能有点过分了。你可以在没有Ajax的情况下通过在PHP编译页面时使用从MySQL加载的值填充javascript数组来解决这个问题。然后,当第一个下拉列表更改时,您可以使用相应数组中的值填充第二个下拉列表。
第二种方法并不理想(主要是因为它意味着你要加载许多可能永远不会被使用的东西),但是在你学习的时候会更容易理解。另一个好处是它的执行速度比Ajax解决方案稍快,因为它不必承担从服务器检索数据的传输开销。
答案 4 :(得分:0)
只是一个快速演示
<select id = "select1">
<option value = "1"></option>
...
</select>
<select id = "select2">
</select>
然后用javascript(我喜欢jquery做ajax的方式):
$('#select1').change(function(){
var sendmeover = $('#select1').val();
$.post("yourphpscript.php",{
sendingthiswithpost: sendmeover
},
//and here is the responce
function(data){
$('#select2').html(''+data+'');
});
})//end select change
然后你的php(yourphpscript.php):
<?php
$variablesent = $_REQUEST['sendingthiswithpost'];
//here is where you would run an sql query and ech your results
echo $variablesent
?>
让我知道如果我错过了任何事情并且解决了问题,请相信这一点。注意:您需要在php
中构建<option>
标签