0

我有一个购物车脚本,我正在尝试修改它以支持多种产品选择。就像现在一样,客户可以从单个下拉菜单中选择产品。现在,我想添加多个下拉菜单(全部填充相同的选项)。

这是输出下拉菜单的php:

if($eshopoptions['options_num']>1){
            $opt=$eshopoptions['options_num'];
            $replace.="\n".'<label for="eopt'.$theid.'"><select id="eopt'.$theid.'" name="option">';
            for($i=1;$i<=$opt;$i++){
                $option=$eshop_product['products'][$i]['option'];
                $price=$eshop_product['products'][$i]['price'];
                if($option!=''){
                    if($price!='0.00')
                        $replace.='<option value="'.$i.'">'.stripslashes(esc_attr($option)).' @ '.sprintf( _c('%1$s%2$s|1-currency symbol 2-amount','eshop'), $currsymbol, number_format($price,2)).'</option>'."\n";
                    else
                        $replace.='<option value="'.$i.'">'.stripslashes(esc_attr($option)).'</option>'."\n";
                }


            }

是否有一些非常简单的方法可以让代码输出菜单说 3 次而不是一次?

4

1 回答 1

0

除非您真的需要冗余,否则您可以允许用户通过将 multiple 和可选的 size 属性添加到您的 select 标签来选择多个选项:

if($eshopoptions['options_num']>1){
        $opt=$eshopoptions['options_num'];
        $replace.="\n".'<label for="eopt'.$theid.'"><select id="eopt'.$theid.'" name="option" multiple="multiple" size="'.$opt.'">';
        for($i=1;$i<=$opt;$i++){
            $option=$eshop_product['products'][$i]['option'];
            $price=$eshop_product['products'][$i]['price'];
            if($option!=''){
                if($price!='0.00')
                    $replace.='<option value="'.$i.'">'.stripslashes(esc_attr($option)).' @ '.sprintf( _c('%1$s%2$s|1-currency symbol 2-amount','eshop'), $currsymbol, number_format($price,2)).'</option>'."\n";
                else
                    $replace.='<option value="'.$i.'">'.stripslashes(esc_attr($option)).'</option>'."\n";
            }


        }
于 2010-05-18T16:19:15.637 回答