【问题标题】:Drop Down list in php (help)php中的下拉列表(帮助)
【发布时间】:2013-07-13 00:04:38
【问题描述】:

嗯,这是我在 stackoverflow 中的第一个问题。我希望你能帮助我!

如果您愿意,我想做一个选择框或下拉列表

所以,我有这个 php 代码:

<?php $i = 0; ?>
                            <?php $orders = osc_list_orders();
                            foreach($orders as $label => $params) {
                                $orderType = ($params['iOrderType'] == 'asc') ? '0' : '1'; ?>
                                <?php if(osc_search_order() == $params['sOrder'] && osc_search_order_type() == $orderType) { ?>
                                    <a class="current" href="<?php echo osc_update_search_url($params); ?>"><?php echo $label; ?></a>
                                <?php } else { ?>
                                    <a href="<?php echo osc_update_search_url($params); ?>"><?php echo $label; ?></a>
                                <?php } ?>
                                <?php if ($i != count($orders)-1) { ?>
                                    <span>|</span>
                                <?php } ?>
                                <?php $i++; ?>
                            <?php } ?>

我尝试过这样做:

function osc_list_orders_drop() {

$orders = osc_list_orders();
echo '<select name="order" id="order" ONCHANGE="location = this.options[this.selectedIndex].value;">';




    foreach($orders as $label => $params){
       $orderType = ($params['iOrderType'] == 'asc') ? '0' : '1';
        echo '<option value="'.osc_update_search_url($params).'">';
        echo $label; 
        echo'</option>';   

    }

   echo'</select>';
}

但是第一个选项没有被存储,所以当我选择一个选项然后尝试选择第一个时,第一个永远不会工作。

你能帮帮我吗?

谢谢

【问题讨论】:

  • 你能澄清一下“所以当我选择一个选项然后尝试选择第一个选项时,第一个选项永远不会起作用”是什么意思。你说它永远不起作用是什么意思?
  • 我不知道你是否知道 osclass。这是针对 osclass 的。在这里看到我在说什么:teste.goodluckwith.us/for-sale。当您首先选择更低的价格时,一切正常。但是,当您尝试选择新列出的时,它不起作用。谢谢

标签: php select drop-down-menu


【解决方案1】:

尝试在选择中添加一个空白选项标签,它将允许触发更改。

function osc_list_orders_drop() {

    $orders = osc_list_orders();
    echo '<select name="order" id="order" ONCHANGE="location = this.options[this.selectedIndex].value;">';

    echo '<option></option>';

    foreach($orders as $label => $params){
        $orderType = ($params['iOrderType'] == 'asc') ? '0' : '1';
        echo '<option value="'.osc_update_search_url($params).'">';
        echo $label; 
        echo'</option>';   
    }

    echo'</select>';
}

更好的选择是将 selected="selected" 添加到当前过滤器的选项标签。

【讨论】:

  • 它有效,但现在我有一个空白选项。没有那个空白就没有办法做到这一点?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-14
  • 1970-01-01
相关资源
最近更新 更多