2011-04-26 102 views
1

HELLO, 我有一個html選擇列表,我想要:選定的數字是一個給定的值$content->number,最大值是$content->product_type->stock_2如果它小於5,或5,如果它是大於5。html選擇列表選擇的項目和最大值可以選擇

現在我有:

<select class="number" name="number"> 
    <? $max = $content->product_type->stock_2 > 5 ? 5 : $content->product_type->sale_stock; ?> 
     <option value="<?= $content->number ?>"><?= $content->number; ?> </option>      
    <? for ($i = 1; $i <= $max; $i++):?>       
     <option <?php if($content->product_type->stock_2 == $i) echo 'selected="selected"' ;?> value="<?= $i ?>"><?= $i; ?></option>    
    <? endfor; ?> 
</select> 

但它顯示我兩次選定值$content->number。我確定我在某個地方犯錯。

有什麼建議嗎? 謝謝!

+0

達納是你的問題與此'<? $ max = $ content-> product_type-> stock_2> 5? 5:$ content-> product_type-> sale_stock; 「我似乎無法理解整個問題。如果這個'$ content-> product_type-> stock_2> 5'爲true,並且您希望它成爲這個'$ content-> product_type-> sale_stock',如果$ content-> product_type-> stock_2> 5'是錯誤的,對吧? – Bastardo 2011-04-26 13:10:03

+0

正是:)這就是我想要的 – dana 2011-04-26 13:23:51

+0

:)但在你的問題中,你說**的最大值是$ content-> product_type-> stock_2,如果它小於5 **我的意思是你需要寫一個2在'<?的結尾$ max = $ content-> product_type-> stock_2> 5? 5:$ content-> product_type-> sale_stock; ?>'不是嗎? – Bastardo 2011-04-26 14:04:12

回答

0

我不知道我是否正確理解你想做的事,但試試這個:

<select class="number" name="number"> 
    <? $max = $content->product_type->stock_2 > 5 ? 5 : $content->product_type->sale_stock; ?> 
     <option value="<?= $content->number ?>"><?= $content->number; ?> </option>  
    <? for ($i = 1; $i <= $max; $i++):?> 
     <? if ($i != $content->number): ?>       
      <option <?php if($content->product_type->stock_2 == $i) echo 'selected="selected"' ;?> value="<?= $i ?>"><?= $i; ?></option> 
     <? endif; ?>   
    <? endfor; ?> 
</select> 
+0

很酷,但它沒有選擇$ content-> number的值。 – dana 2011-05-02 08:26:58

+0

@dana:我更新了我的答案。嘗試一下 – Tomas 2011-05-02 11:58:19