Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据下拉选择填充复选框列表_Javascript_Php_Html_Checkbox - Fatal编程技术网

Javascript 根据下拉选择填充复选框列表

Javascript 根据下拉选择填充复选框列表,javascript,php,html,checkbox,Javascript,Php,Html,Checkbox,我正在创建一个表单,该表单将在div中填充与用户组上载的媒体文件相关的复选框。基本上,如果用户从下拉菜单中选择组名,所有相关媒体文件将以复选框形式显示在div中 下拉菜单从数据库接收它的选项,这些选项并不总是一个已知的数量 <select name="gpname" id="gpname"> <option value=""></option> <?php $results = mysql_query("SELECT * FROM usergroups

我正在创建一个表单,该表单将在div中填充与用户组上载的媒体文件相关的复选框。基本上,如果用户从下拉菜单中选择组名,所有相关媒体文件将以复选框形式显示在div中

下拉菜单从数据库接收它的选项,这些选项并不总是一个已知的数量

<select name="gpname" id="gpname">
<option value=""></option>
<?php
$results = mysql_query("SELECT * FROM usergroups ORDER BY groupname");            
while($row = mysql_fetch_array($results)) {
     echo ('<option value="'); echo ($row['groupname']); echo('">'); echo $row['groupname']; echo('</option>');
}; ?>
</select>
然后,这里是div:

<div style="overflow: auto; width: 500px; height: 100px; border: 1px solid #c4c4c4; padding-left: 5px" id="medialist"></div>

最好的方法是什么?

创建一个接收所选选项并显示复选框表单的PHP文件

使用Ajax,使用所选选项调用PHP文件,并将内容设置到div中

function setCheckforms(){

var selectedOption = document.getElementById("gpname").value;

    $.ajax({
        async: false,
        type: "POST",
        url: 'file.php',
        data: {option:selectedOption},
        success: function(data){
            $('#medialist').html(data);
        },
        error: function(data) {
        }
    });

}
记住在选项更改时调用该函数

<select name="gpname" id="gpname" onchange="setCheckforms()">

我的代码没有经过测试。如果您有问题,请告诉我:D

非常感谢您的帮助,这正是我所需要的。我接受了你的解决方案,但由于我的代表@collecin,我还不能更新投票。你可以使用:和函数setCheckformsselectedOption{bla bla bla},并记住删除这行:var selectedOption=document.getElementByIdgpname.value;使用此选项,您可以保存一行代码!:又是汉克斯!非常感谢。