2010-09-09 29 views
1

這裏的下拉選項增加值就是我需要寫了一堆下拉菜單:在一個HTML表單,我需要生成增量在選擇標籤

<select> 
    <option value="23">23</option> 
    <option value="23.5">23.5</option> 
    <option value="24">24</option> 
    <option value="24.5">24.5</option> 
    [etc...] 
</select> 

它需要.5增加爲每個選項。

等等部分是我需要重複該過程40次以上的地方。頁面上還有多個選擇,以及以不同數字開始和停止的值。

這些數字是靜態的,一旦生成就不會改變。所以值和HTML代碼只需要構建一次,這是很好的去。該網站使用PHP供電。

我不想一個接一個地選擇手工編碼所有這些代碼!我不確定最簡單的方法是什麼。正則表達式? JS?

+0

您可以在服務器端或客戶端執行此操作。您沒有提及您在服務器上使用的語言(如果有)。 – LatinSuD 2010-09-09 00:36:08

+0

是的,只是注意到這一點,並添加了PHP的描述。 – micah 2010-09-09 00:38:13

回答

1
$total = 40; 
$value = 23.00; 

$HTML = '<select>'; 

for($i = 0; $i < $total; $i++) 
{ 
    $HTML .= '<option value="'.$value.'">'.$value.'</option>'; 
    $value += 0.5; 
} 

$HTML .= '</select>'; 
+0

看起來不錯!自從我發佈以來,我的一位朋友也發現了這個答案。 http://stackoverflow.com/questions/2121264/dynamically-create-in-php-a-drop-down-list-from-a-range-of-numbers-with-incremen看起來他們基本上是一樣的事情。 – micah 2010-09-09 00:53:23

0

如果你只是想讓它打印出一次數據,我會用像Python這樣的語言。如果您願意,您可以在運行時動態生成它們,但要注意,這會減少禁用JS的用戶的功能。然後在Python中:

for num in range(25, 50): 
    print r'<option value="%d">%d</option>' % (num, num) 
    print r'<option value="%d.5">%d.5</option' % (num, num) 

這應該給你儘可能多的,你需要,並適應。如果可能的話,你應該在頁面中使用更強大的腳本語言(PHP,ASP,Ruby等)來做這種事情,而不是創建一堆靜態的,硬編碼的文件。這些將在以後很難維持。

+0

非常酷!我忘了提及我們正在使用PHP。有沒有辦法將其轉換爲PHP? – micah 2010-09-09 00:39:08

+0

Ben的其他答案是一個很好的解決方案,可以放在你的PHP文件中。這樣,沒有什麼硬編碼,並且稍後更新很容易。在那裏+1。 – 2010-09-09 00:48:49

相關問題