php - 我的下拉列表仅从 fornext 循环中获取一项
问题描述
我正在创建允许用户从下拉列表中选择项目的小部件。我想出的是一个小部件,它有一个显示第一项的下拉菜单。其余部分像这样打印到屏幕上: Item 2 ; 第 3 项;输入新的事件名称。(标签)输入框
<?php
/* Plugin Name: Events Widget
Description: This widget allows the user to select an Event name.
Version: 0.5
Author: Dan Statham
Author URI:
License: GPLv2
*/
function gdd_Events_load_widgets() {
write_log('gdd _Events_load_widgets');
}// gdd_Events_load_widgets
// Register the widget
function my_register_custom_widget() {
register_widget( 'gdd_Events_load_widgets' );
} // echo('registerd');
function submit(){
if(isset($_POST['submit'])){
$selected_val = $_POST['Color']; // Storing Selected Value In Variable
echo "You have selected :" .$selected_val; // Displaying Selected Value
}
}
add_action( 'widgets_init', 'my_register_custom_widget' );
// The widget class
class gdd_Events_load_widgets extends WP_Widget {
function gdd_Events_Widget() {
/* Widget settings. */
$widget_ops = array( 'classname' => 'event',
'description' => __('Allow the user to select an Event name.', 'event') );
/* Widget control settings. */
$control_ops = array( 'width' => 200, 'height' => 150, 'id_base' => 'gdd_Events_Widget' );
/* Create the widget. */
$this->WP_Widget( 'Event', __('Event Name', 'event'), $widget_ops, $control_ops );
} // function gdd_Events_Widget
// Main constructor
function __construct() {
parent::__construct(
// base ID of the widget
'gdd_Events_Widget',
// name of the widget
__('Event Name dropdown', 'events'),
// widget options
array(
'description' => __('Select the Event name.',
'events')
)
); //parent __construct()
}//function __construct()
public function update($new_instance, $old_instance) {
$instance = $old_instance;
$instance['eventsdropdown'] = strip_tags($new_instance['eventsdropdown']);
return $instance;
}
// function update
public function widget($args, $instance) {
// kick things off
extract($args);
}//function widget
// run a query if on a page
public function gdd_Events_Register_Widget() {
register_widget('gdd_Events_Widget');
}
public function form( $instance ) {
if ( isset( $instance[ 'eventsdropdown' ] ) )
$selectedvalue = $instance[ 'eventsdropdown' ];
else
$selectedvalue = __( '', 'text-domain' );
global $event;
global $events;
global $wpdb;
global $depth;
$events = $wpdb->get_results("SELECT id, event FROM mo_events",ARRAY_A);
?>
event
<label for="<?php echo $this->get_field_id('event'); ?>">Select an Event</label> <br>
<select class="dropdown" id="eventsdropdown" name="eventsdropdown" title="Events Dropdown">
<?php
foreach ($events as $event) {?>
<option value=" <?php echo $event['id'] ?>"><?php echo $event['event']; ?></option>;
</select>
<?php
}
?>
<label for="newevent">Enter a new event name:</label><br><br>
<input type="text" id="newevent" newevent="mewevent"</inpUt><br><br> <?
} // function form
} //class
谁能告诉我我的方式的错误以及如何让它发挥作用?
谢谢丹尔
解决方案
<?php
foreach ($events as $event) {?>
<option value=" <?php echo $event['id'] ?>"><?php echo $event['event']; ?></option>;
</select>
<?php
}
请将标签放在 foreach 循环之外
<?php
foreach ($events as $event) {?>
<option value=" <?php echo $event['id'] ?>"><?php echo $event['event']; ?></option>;
<?php
} ?>
</select>
推荐阅读
- java - 如何为 ACTION_OPEN_DOCUMENT 意图实现自定义 MIME 类型?
- java - HQL Hibernate查询搜索检查列表是否包含另一个列表的所有元素
- vue.js - 使用 Vue 将焦点设置在输入元素上
- mysql - sql, # 1067 - 'published' 的默认值错误
- android - 如何在 Android 的 AWS Amplify 中指定存储路径。?
- excel - 将 XlBorderWeight 传递给过程
- java - gpu delegate的性能,tensorflow lite的nnapi在android mobile上几乎一样
- reactjs - 使用暴雪/战网的 OAuth 登录
- sql - 透视Oracle查询
- r - XGBOOST-多类预测。预测矩阵是类的概率集合。如何执行混淆矩阵