我正在使用PHP生成一个下拉框,其值范围为0-30,步长为1步。
但是如何将默认值设为1?我需要在用户将金额更改为1之前出现的标准值。此时默认值为0。
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
global $product;
$defaults = array(
'max_value' => apply_filters( 'woocommerce_quantity_input_max', '', $product ),
'min_value' => apply_filters( 'woocommerce_quantity_input_min', '', $product ),
'step' => apply_filters( 'woocommerce_quantity_input_step', '1', $product ),
);
if ( ! empty( $defaults['min_value'] ) )
$min = $defaults['min_value'];
else $min = 0;
if ( ! empty( $defaults['max_value'] ) )
$max = $defaults['max_value'];
else $max = 30;
if ( ! empty( $defaults['step'] ) )
$step = $defaults['step'];
else $step = 1;
?>
<div class="quantity_select">
<select name="<?php echo esc_attr( $input_name ); ?>" title="<?php _ex( 'Qty', 'Product quantity input tooltip', 'woocommerce' ) ?>" class="qty">
<?php
for ( $count = $min; $count <= $max; $count = $count+$step ) {
if ( $count == $input_value )
$selected = ' selected';
else $selected = '';
echo '<option value="' . $count . '"' . $selected . '>' . $count . '</option>';
}
?>
</select>
</div>
答案 0 :(得分:0)
如果我没有弄错$input_value is 1
或选择值。然后下面的代码就可以了。
for ( $count = $min; $count <= $max; $count = $count+$step ) {
if ( $count == $input_value )
$selected = ' selected="selected"';
else $selected = '';
echo '<option value="' . $count . '"' . $selected . '>' . $count . '</option>';
}
答案 1 :(得分:0)
尝试以下方法:
<?php
echo "<select name=\"".esc_attr( $input_name )."\" title=\""._ex('Qty', 'Product quantity input tooltip', 'woocommerce').\"" class=\"qty\">";
for ($i = 1; $i <= 30; $i++) {
echo "<option value=\"{$i}\"".(($i==1)?" selected":"").">{$i}</option>";
}
echo "</select>";
?>