PHP(Wordpress) - 选择多个 - 显示“选定”状态不起作用
Posted
技术标签:
【中文标题】PHP(Wordpress) - 选择多个 - 显示“选定”状态不起作用【英文标题】:PHP ( Wordpress) - Select multiple - show "selected" state not working 【发布时间】:2012-12-30 03:42:48 【问题描述】:保存或刷新时,我似乎无法让多重选择显示selected = "selected"
属性。
一切正常(数据库插入正常,结果输出正常),但我无法在刷新后显示所选值。
我正在尝试使用 wp 核心中的 selected() 函数..
代码(它在一个小部件类中,用于一个相当简单的小部件):
<!-- List Custom Fields Hide Underscore (hide=no) -->
<p>
<?php $keys_no = $this->k99_cfsw_get_all_cf_array('no');?>
<?php if ( $keys_no ) ?>
<label for="<?php echo $this->get_field_id('cfl2'); ?>"><?php _e('Select your custom field','k99_gelosa_domain'); ?></label>
<select multiple="multiple" class="chzn-select" style="width:150px;height:29px;" size="5" id="<?php echo $this->get_field_id('cfl2'); ?>" name="<?php echo $this->get_field_name('cfl2'); ?>[]" value="<?php $instance['cfl2'] ?>">
<option value="<?php isset($instance['cfl2']) ? _e($instance['cfl2']) : _e('#NONE#'); ?>"><?php isset($instance['cfl2']) ? _e('multiple') /*_e($instance['cfl2'])*/ : _e('#NONE#'); ?></option>
<!--<option value="#NONE#"><?php //echo $cfl; ?></option>-->
<!--<option value="------">-------</option>-->
<?php
foreach ( $keys_no as $key )
echo "\n<option value='" .esc_attr($key) . "'". selected( $instance['cfl2'],esc_attr($key) ,FALSE).">". esc_html($key) . "</option>";
?>
</select>
<?php
?>
</p>
作为附注和奖励问题 - ,我也在使用 chosen JS - 它也可以正常工作,(除了它不显示所选项目..)但也有一个小错误,它会小部件关闭时不启动 - 仅在保存为打开状态后...
【问题讨论】:
【参考方案1】:没关系,找到了,答案是:
selected(true, in_array($key, $instance['cfl2']), false)
【讨论】:
以上是关于PHP(Wordpress) - 选择多个 - 显示“选定”状态不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Wordpress term_exist 没有回显任何东西?
PHP / MySQL:如何减少代码以回显选择结果(工作代码)