Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.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
PHP+Javascript动态div,用于在表单中动态添加输入_Php_Javascript_Dynamic_Html - Fatal编程技术网

PHP+Javascript动态div,用于在表单中动态添加输入

PHP+Javascript动态div,用于在表单中动态添加输入,php,javascript,dynamic,html,Php,Javascript,Dynamic,Html,在单击按钮时,动态添加更多的dropdownlist,其中包含从MySQL到div的数据 <div id="dynamicDiv"><p> sqlconn(); $sql="SELECT column_name FROM table"; $result = mysql_query($sql); $num_rows = mysql_num_rows($result); echo "<sel

在单击按钮时,动态添加更多的dropdownlist,其中包含从MySQL到div的数据

<div id="dynamicDiv"><p>
        sqlconn();
        $sql="SELECT column_name FROM table";
        $result = mysql_query($sql);
        $num_rows = mysql_num_rows($result);
        echo "<select type=\"column_name\">";       
        for($i=0;$i<$num_rows;$i++){
            $table = mysql_fetch_array($result);
            echo "<option value='" . $table['column_name'] . "'>" . $table['column_name'] . "</option>";
        }
        echo "</select>";
        mysql_close($con);
</div>

<input type="button" value="+ Data" onClick="addInput('dynamicDiv');">

在脚本中是否有填充dropdownlist的变通方法?非常感谢

您基本上有两种选择

在创建页面时为下拉列表创建HTML,并执行以下操作 如

或者看看AJAX来填充您的选择。 前者更容易,后者更干净

**This is the actual way the test goes and Change according to your table and use it . It will work as you expected**
; echo“countStud=”。count$arrayData.;”; echo“stud=”.json_encode$arrayData; 回响 ?>
你到底在问什么?下面是我的一个尝试:使用来自服务器的ajax请求数据遍历返回的数据,根据需要附加到dom中。你想让我更明确一些吗?如果是这样,请问一个实际的问题,我如何使用AJAX来填充div?使用jquery,您可以实现更新元素的逻辑,有点像在success函数中,否则如果使用自己的实现,您可以在OnReadyStateChange中处理它谢谢您的帮助!但是我如何使用ajax访问数据库并获取数据呢?我无法在我的脚本中这样做,因为有php sqlconnection、查询和数组要传递给脚本。请告诉我如何在AJAX上进行操作?我也在谷歌上搜索。毕竟这并不难:你必须创建一个PHP方法,它只以JSON形式或直接以HTML形式返回所有选项。使用框架Dojo?jQuery?对于AJAX调用本身。如果你得到了HTML,只需做……innerHTML=你得到的任何东西。如果获得了选项,请在DOM中创建一个select,然后创建选项对象并将其添加到select的选项集合中。
<script type=...>
var selecthtml='<?php echo $selecthtml; ?>'
function addInput(divName){
     if (counter == limit)  {
          alert("You have reached the limit of adding " + counter + " inputs");
     }
     else {
          var newdiv = document.createElement('div');
          newdiv.innerHTML = selecthtml;
          document.getElementById(divName).appendChild(newdiv);
          counter++;
     }
}
</script>
**This is the actual way the test goes and Change according to your table and use it . It will work as you expected**
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
    divCount =0;   
    function createDiv()
    {  

        var divTag  = document.createElement("div");
        var studList ="";
         studList += '<select id="BOX_'+divCount+'" name="BOX_'+divCount+'">';
         studList += '<option value="">--- Select ---</option>';
                     for(i=0;i<countStud;i++){
                        studList += '<option value="'+stud[i].stud_id+'">'+stud[i].stud_name+'</option>';
                     }
         studList += '</select>';
         divTag.innerHTML  = studList;
        document.getElementById('dynamicElements').appendChild(divTag);
        divCount++;

    }

 </script>
</head>

<body>
<form action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post">
<div id="dynamicElements"></div>
 <input type="submit" value="Submit" />
 </form>
 <input type="button" onClick="createDiv()" value="Add"/>
</body>
</html>