选择下拉列表不显示选定的值php

时间:2017-02-25 20:34:57

标签: php wordpress

我正在使用Wordpress Settings API。除了select下拉列表外,其他所有内容都可以正常工作。当我选择一个选项时,回显的值是正确的,但在下拉列表中显示默认的第一个值,即6,而不是所选的值。我哪里错了?

 public function someplugin_select() {
            $options = get_option( 'plugin_252calc');
            echo $options; //shows the correct value selected
            $items = array();
            for ($i=6; $i <=10; $i+= 0.1) 
            { 
                $items[] = $i;
            }

            echo '<select id="cf-nb" name="cf-nb">';
            foreach ( $items as $item )
            {
                echo '<option value="'. $item .'"';
                if ( $item == $options ) echo' selected="selected"';
                echo '>'. $item .'</option>';
            }

            echo '</select>';           

        }

1 个答案:

答案 0 :(得分:1)

您不需要两个独立的循环,只需一个for循环即可完成所有操作。除此之外,您还需要按以下方式更改someplugin_select()方法,

public function someplugin_select() {
    $options = round(floatval(get_option( 'plugin_252calc')), 1);
    echo '<select id="cf-nb" name="cf-nb">';
    for ($i = 6.0; $i <= 10.0; $i += 0.1){ 
        $output = '<option value="'. $i .'"';
        if ( $options == round($i, 1) ){
            $output .= ' selected="selected"';
        }
        $output .= '>'. $i .'</option>';
        echo $output;
    }
    echo '</select>';         
}