我有一个购物车脚本,我试图修改以支持多个产品选择。就像现在一样,客户可以从单个下拉菜单中选择产品。现在,我想添加多个下拉菜单(所有菜单都填充相同的选项)。
这是输出下拉菜单的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次而不是一次?
答案 0 :(得分:0)
除非您确实需要冗余,否则您可以通过向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";
}
}