Reputation: 17467
I want to specify number range in drop-down menu list like 1-24 from example i am currently doing following
<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>
is there any way we can say use 1-24 and it dynamically create drop-down menu, I guess we need to use Javascript but i don't know how to code them?
Upvotes: 7
Views: 35853
Reputation: 270
This answer might be useful now. With HTML5 it made simpler. we don't need javascript to do the same. Supported in most of the modern browsers. Could not check for older IE versions.
<label for="hour">Hour:</label>
<input type="number" id="hour" min="1" max="24" />
Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number
Upvotes: 6
Reputation: 1627
If you only wish to use Javascript, you could do something like:
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;
}
Here is a jsFiddle example: jsFiddle
Upvotes: 4
Reputation: 109
Use PHP Range — Create an array containing a range of elements
echo '<select name="hour">';
foreach (range(1,24) as $number) {
echo '<option value='.$number.'>'.$number.'</option>';
}
echo '</select>';
Upvotes: 0
Reputation: 17467
Even i have also figured out following after your example:
<?php
echo "<select>";
for ($h = 1; $h <= 24; $h++) echo "<option value='$h'>$h</option>";
echo "</select>";
?>
Upvotes: 0
Reputation: 840
You don't need Javascript, you can use a PHP for loop:
<select name="hour">
<?php for ($i = 1; $i <= 24; $i++) : ?>
<option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php endfor; ?>
</select>
Upvotes: 16