Javascript 动态生成的未显示有序列表中的第一项

Javascript 动态生成的未显示有序列表中的第一项,javascript,php,Javascript,Php,我面临着使用JavaScript动态生成字段的问题 我有以下代码: $goods="SELECT * FROM goods ORDER BY name"; $options = ""; $vys = mysqli_query($db, $goods); while ($arr= mysqli_fetch_assoc($vys)) { $options .= "<option value='".$arr['id_good']."'>".$arr['name']."</

我面临着使用JavaScript动态生成字段的问题

我有以下代码:

$goods="SELECT * FROM goods ORDER BY name"; 
$options = "";

$vys = mysqli_query($db, $goods);
while ($arr= mysqli_fetch_assoc($vys)) {
    $options .= "<option value='".$arr['id_good']."'>".$arr['name']."</option>"; 
} 

echo "
<script type=\"text/javascript\">
    function addInput(divName){
        var newdiv = document.createElement('div');
        newdiv.innerHTML = \"<select name=idg[]><?php echo $options; ?></select> \";
        document.getElementById(divName).appendChild(newdiv);
    }
</script> 

<form method='post'> 
    <fieldset>
        <div id='dynamicInput'><div>
            <select name=idg[]>
                $options
            </select><br />
        </div></div>
        <input type='button' value='Add another select' onClick=\"addInput('dynamicInput'); \">
    </fieldset>
</form>
“第一次选择”是确定的,但每隔生成一次,就会显示没有第一项的选项列表。我不知道为什么,但每次我单击“添加另一个选择”按钮时,它都会生成带有选项的新选择,但第一项缺失,显示的第一项是该有序列表中的第二项

其中一个错误是,当生成新的select时,有序列表中的第一项没有显示,请?

您试图在echo语句中使用标记。它们在字符串上下文中没有特殊意义——这不是必需的,并且会弄乱HTML标记

newdiv.innerHTML = \"<select name=idg[]><?php echo $options; ?></select> \";
应改为:

newdiv.innerHTML = \"<select name=idg[]>$options</select> \";
修改后的代码如下所示:

<script type=\"text/javascript\">
    function addInput(divName){
        var newdiv = document.createElement('div');
        newdiv.innerHTML = \"<select name=idg[]>$options</select> \";
        document.getElementById(divName).appendChild(newdiv);
    }
</script> 
您正在尝试在echo语句中使用标记。它们在字符串上下文中没有特殊意义——这不是必需的,并且会弄乱HTML标记

newdiv.innerHTML = \"<select name=idg[]><?php echo $options; ?></select> \";
应改为:

newdiv.innerHTML = \"<select name=idg[]>$options</select> \";
修改后的代码如下所示:

<script type=\"text/javascript\">
    function addInput(divName){
        var newdiv = document.createElement('div');
        newdiv.innerHTML = \"<select name=idg[]>$options</select> \";
        document.getElementById(divName).appendChild(newdiv);
    }
</script> 

正确答案是使用时出错

newdiv.innerHTML = \"<select name=idg[]><?php echo $options; ?></select> \";
与此相反,请使用正确的代码:

newdiv.innerHTML = \"<select name=idg[]>$options</select> \";

正确答案是使用时出错

newdiv.innerHTML = \"<select name=idg[]><?php echo $options; ?></select> \";
与此相反,请使用正确的代码:

newdiv.innerHTML = \"<select name=idg[]>$options</select> \";

你很棒。谢谢;你很棒。谢谢;