下拉列表的选定属性

时间:2020-04-04 作者:Foysal

我正在WordPress的下拉列表中工作。“选定”属性不起作用。我的代码如下

     <select class="form-control" name="division">
        <option value="Select">
            <?php esc_html_e( \'-----Select-----\', \'donate\' ); ?>
        </option>
        <?php 
            $selected_division = get_user_meta( $userID, \'donor_division\', true ); 
            $divisions = donate_division();
            $options = \'\';
            foreach( $divisions as $division ){                                             
              if( $selected_division == $division ){                                                
                    $selected = \'selected\';
              }else{
                    $selected = \'\';
              }                                             
                $options .= \'<option value="\'.esc_attr( $division ).\'" \'.esc_attr( $selected ).\'>\'.esc_html( $division ).\'</option>\';
                }
                echo $options;
            ?>
        </select>
但我是这样出去的。代码中有什么错误?

enter image description here

1 个回复
SO网友:simongcc

您的代码看起来不错。因为你的selected 在屏幕截图的正确位置输出。我试图重现这个问题,但似乎所有浏览器都工作正常。也许您可以创建一个非常简单的模板,而不需要其他代码的干扰。有时,损坏的HTML结构也可能会影响。我在一个无WP的html和我的主题中测试了它,将它放在主题的底部。您可以测试以下各项:

禁用所有插件,更改为基本主题,如2020默认主题,将代码添加到函数底部。php进行快速测试,在不同的浏览器中测试您的页面,您也可以打印您的$selected\\u分区,以确保它是您想要的,但我认为它应该是正确的,因为“selected”似乎已放置到位。以防万一

我已经尝试了你的代码,除了我把有限的信息用于测试。选择框在MacOS 10.12下的Firefox、Chrome、Safari中运行良好,供您参考:

<select class="form-control" name="division">
<option value="Select">
    <?php esc_html_e( \'-----Select-----\', \'donate\' ); ?>
</option>
<?php 
     // $selected_division = get_user_meta( $userID, \'donor_division\', true ); 

     $selected_division = \'Barisal\';

    // just keep your own variables, it is just an example because I have no idea what yours is
    $divisions = array(
        \'Barisal\',
        \'Chattogram\',
        \'Dhaka\',
        \'Khulna\',
        \'Rajshanhi\',
        \'Rangpur\',
        \'Sylhet\',
    );

    $options = \'\';

    foreach( $divisions as $division ){  

        if( strtolower( $selected_division ) == strtolower( $division ) ){                                                
            $selected = \'selected="selected"\';
        }else{
            $selected = \'\';
        }                                             
        $options .= \'<option value="\'.esc_attr( $division ).\'" \'.esc_attr( $selected ).\'>\'.esc_html( $division ).\'</option>\';
        }
        echo $options;
    ?>
</select>
Firefox evergreenSafari 12.1.2 (12607.3.10)Chrome 80.0.3987.149 (Official Build) (64-bit)

相关推荐

使用wp_Dropdown_Categories($args)的输出

请温柔点,我对所有这些编码都是新手!我终于找到了如何获得前端下拉字段,允许我从EDD类别中进行选择(我从Codex中获得):<div class=\"gallery-row\"> <li id=\"categories\"> <h2><?php _e( \'Categories:\' ); ?></h2> <form id=\"category-select\" class=\"category-