从数组中的下拉菜单中获取选定的值?

时间:2015-06-02 16:37:54

标签: php wordpress drop-down-menu selectedvalue

我觉得我在这里真的很遗憾。我在短(wordpress)脚本上做了一些手动自定义,并尝试将<select><option>设置为“已选中”(如果已选中)。为了实现这一点,我试图找出$term->id = similar是否为所选选项值(也是一个ID)。到目前为止一切都很好,但我似乎无法得到提交的<select><option>。它只是'阵列'。

以下是我的脚本。谁有人在这看到我做错了什么?要清楚,似乎所有关于这里的$_GET["listing_cat"]。此外,当我尝试在$_GET["listing_cat"]内打印foreach时,所有输出都是'数组'。

<form method="get" action="<?php echo trailingslashit( home_url() ); ?>" class="custsearch">
<select name="listing_cat[]">
<option value="1" disabled="disabled" <?php if(!count($_GET)>0 || !$_GET["listing_cat"] ){ echo 'selected="selected"';} ?>>Pls choose</option>
        <?php
        $cat_args = array(
        'orderby'           => 'id', 
        'parent'        => 0,
        'hide_empty'    => false           
    );
        $terms = get_terms('listing_category', $cat_args );
        foreach ($terms as $term) {
            printf( '<option class="level-0" value="' . $term->term_id .'"');
            if($_GET["listing_cat"] == $term->term_id) { echo 'selected="selected"'; }
            printf( '>%s</option>', $term->slug, $term->name );
        }

        ?>
</select>
</form>

1 个答案:

答案 0 :(得分:0)

好的,这就是我所需要的......非常符合逻辑;)。我将它放入一个函数中并需要in_array()来检查:

//category in dropdown
function the_refine_category_ui2() {
    $cat_args = array(
    'orderby'           => 'id', 
    'parent'        => 0,
    'hide_empty'    => false           
);
    $terms = get_terms('listing_category', $cat_args ); 
foreach ($terms as $term) {

   printf( '<option class="level-0"');
   if( in_array( $term->term_id, $_GET["listing_cat"] )) { echo 'selected ';} 

    printf('value="' . $term->term_id .'"');
            printf( '>%s' . $term->term_id .'</option>', $term->slug, $term->name );


}
}