6

我想在下拉菜单列表中指定数字范围,例如我目前正在执行的示例中的 1-24

<select name="hour">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
...
...
<option value="24">24</option>
</select>

有什么办法可以说使用 1-24 并动态创建下拉菜单,我想我们需要使用 Javascript,但我不知道如何编码?

4

5 回答 5

16

您不需要 Javascript,您可以使用 PHP for 循环:

<select name="hour">
    <?php for ($i = 1; $i <= 24; $i++) : ?>
        <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
    <?php endfor; ?>
</select>
于 2013-05-24T19:26:20.960 回答
4

如果您只想使用 Javascript,您可以执行以下操作:

for(var i=1; i<=24; i++){
    var select = document.getElementById("hours");
    var option = document.createElement("OPTION");
    select.options.add(option);
    option.text = i;
    option.value = i;
}

这是一个 jsFiddle 示例: jsFiddle

于 2013-05-24T19:31:14.073 回答
3

这个答案现在可能有用。使用 HTML5,它变得更简单。我们不需要 javascript 来做同样的事情。大多数现代浏览器都支持。无法检查较旧的 IE 版本。

<label for="hour">Hour:</label>
<input type="number" id="hour" min="1" max="24" />

参考:https ://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number

于 2020-12-17T18:15:34.987 回答
0

即使我在您的示例之后也想出了以下内容:

<?php
echo "<select>";
for ($h = 1; $h <= 24; $h++) echo "<option value='$h'>$h</option>";
echo "</select>";
?>
于 2013-05-24T19:29:31.370 回答
0

使用 PHP Range — 创建一个包含一系列元素的数组

echo '<select name="hour">';
foreach (range(1,24) as $number) {
        echo '<option value='.$number.'>'.$number.'</option>';
}
echo '</select>';
于 2015-12-02T08:29:58.007 回答