Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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用值填充html下拉菜单?_Javascript_Html_Forms - Fatal编程技术网

有没有一种方法可以使用javascript用值填充html下拉菜单?

有没有一种方法可以使用javascript用值填充html下拉菜单?,javascript,html,forms,Javascript,Html,Forms,我需要有一个下拉菜单,允许您从中选择一年(1900-2011)。我非常确定java脚本具有这方面的功能,但我完全不知道如何在代码中实现它 我正在使用PHP 这不是类似的事情吗 while(i<2012){ add i to dropdown list increment i } while(i=1900;--i){ var option=document.createElement('option'); option.text=option.value=i; 选择。添加(选项,0); }

我需要有一个下拉菜单,允许您从中选择一年(1900-2011)。我非常确定java脚本具有这方面的功能,但我完全不知道如何在代码中实现它

我正在使用PHP

这不是类似的事情吗

while(i<2012){
add i to dropdown list
increment i
}
while(i=1900;--i){
var option=document.createElement('option');
option.text=option.value=i;
选择。添加(选项,0);
}
作者姓名
文章标题
报纸标题
城市
出版日期
版本
页面名称
中等
印刷品
网状物

.

假设您有此元素:

 <select id="year" name="year"></select>

但是:为什么需要这样做?从服务器端直接填充下拉列表是不可能的,这会更自然吗

更新:来自PHP:

<td>
    <select id="year" name="year">
    <?php for($i = 2011; $i >= 1900; --$i) 
              printf('<option value="%d">%d</option>', $i, $i);
    ?>
    </select> 
</td> 


您可以使用document.createElement(“选项”)和appendChild将节点添加到select下拉列表中

<!DOCTYPE html>
<html>
    <head>
        <title></title>
    </head>
    <body>

        <select id="select">

        </select>

        <script type="text/Javascript">

            var menu = document.getElementById("select");
            for(var i = 0; i < 20; i++) {
                var newOption = document.createElement("option");
                newOption.innerHTML = i;
                menu.appendChild(newOption);
            }

            </script>
    </body>
</html>

var菜单=document.getElementById(“选择”);
对于(变量i=0;i<20;i++){
var newOption=document.createElement(“选项”);
newOption.innerHTML=i;
menu.appendChild(newOption);
}

Go figure,我从来没有听说过add。我会把代码放在页面标题的标记中吗?这是我需要用户填写的表单的一部分。@Willkra:不,你需要把它放在函数中,例如
function stuff(){…}
(在脚本标记中)然后写
,这样才能工作。但不要这样做!在服务器端执行此操作!我将如何在服务器端继续这样做?
 <select id="year" name="year"></select>
var select = document.getElementById("year");
for(var i = 2011; i >= 1900; --i) {
    var option = document.createElement('option');
    option.text = option.value = i;
    select.add(option, 0);
}
<td>
    <select id="year" name="year">
    <?php for($i = 2011; $i >= 1900; --$i) 
              printf('<option value="%d">%d</option>', $i, $i);
    ?>
    </select> 
</td> 
<!DOCTYPE html>
<html>
    <head>
        <title></title>
    </head>
    <body>

        <select id="select">

        </select>

        <script type="text/Javascript">

            var menu = document.getElementById("select");
            for(var i = 0; i < 20; i++) {
                var newOption = document.createElement("option");
                newOption.innerHTML = i;
                menu.appendChild(newOption);
            }

            </script>
    </body>
</html>