如何将此选项列表从单选按钮转换为下拉菜单? 下面是从single-product.php模板中提取的代码。
<div class="wcsatt-options-wrapper" <?php echo count( $options ) === 1 ? 'style="display:none;"' : '' ?>><?php
if ( $prompt ) {
echo $prompt;
} else {
?><h3><?php
_e( 'Choose a subscription plan:', WCS_ATT::TEXT_DOMAIN );
?></h3><?php
}
?><ul class="wcsatt-options-product"><?php
foreach ( $options as $option_id => $option ) {
?><li class="<?php echo $option_id !== '0' ? 'subscription-option' : 'one-time-option'; ?>">
<label>
<input type="radio" name="convert_to_sub_<?php echo $product->id; ?>" data-custom_data="<?php echo esc_attr( json_encode( $option[ 'data' ] ) ); ?>" value="<?php echo $option_id; ?>" <?php checked( $option[ 'selected' ], true, true ); ?> />
<?php echo $option[ 'description' ]; ?>
</label>
</li><?php
}
?></ul>
答案 0 :(得分:0)
我不知道您正在使用什么系统或验证或其他任何工作方式,但是如果没有这样的话会让您关闭:
function reviewajaxrequest() {
var xhr3 = new XMLHttpRequest();
xhr3.addEventListener("load", resultsReturnedReview);
xhr3.open("GET", "reviewadded.php?user_review=" + reviewbox + "&place_id=" + id);
xhr3.send();
}
基本上,您只是将输入元素转换为 <ul class="wcsatt-options-product">
<select name="convert_to_sub_<?php echo $product->id; ?>">
<?php
foreach ( $options as $option_id => $option ) {
?><li class="<?php echo $option_id !== '0' ? 'subscription-option' : 'one-time-option'; ?>">
<option value="<?php echo $option_id; ?>" data-custom_data="<?php echo esc_attr( json_encode( $option[ 'data' ] ) ); ?>" <?php echo($option[ 'selected' ] ? ' selected="selected" : '' ?>><?php echo $option[ 'description' ]; ?></option>
</li><?php
}
?></select></ul>
并将其全部包装在<option>
标记中。
答案 1 :(得分:0)
我让这个工作!但是,我很确定我不应该使用带有下拉菜单的已检查参数...有任何改进建议吗?
<ul class="wcsatt-options-product">
<select name="convert_to_sub_<?php echo $product->id; ?>" data-custom_data="<?php echo esc_attr( json_encode( $option[ 'data' ] ) ); ?>">
<?php
foreach ( $options as $option_id => $option ) {
?><li class="<?php echo $option_id !== '0' ? 'subscription-option' : 'one-time-option'; ?>">
<label>
<option value="<?php echo $option_id; ?>" <?php checked( $option[ 'selected' ], true, true ); ?>> <?php echo $option[ 'description' ]; ?> </option>
</label>
</li><?php
}
?>
</select>
</ul>