1

你好,我有一个 html 选择列表,我想要:选择的数字是一个给定的值$content->number,如果它小于 5,则最大值为 $content->product_type->stock_25,如果大于 5,则为 5。

我现在有:

<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。我确定我在某个地方弄错了。

有什么建议么?谢谢你!

4

1 回答 1

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>
于 2011-04-29T08:17:08.897 回答