2013-07-13 51 views
0

嗯,这是我的第一个问题在stackoverflow。我希望你能帮助我!下拉列表在PHP(帮助)

我想作一个选择框或一个下拉列表,如果你喜欢

所以,我有这个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>'; 
} 

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

你能帮我吗?

THX

+0

你能澄清你的意思吗?“所以当我选择一个选项,然后尝试选择第一个,第一个从不工作。”它是什么意思,它从来没有工作? –

+0

我不知道你是否知道osclass。这是用于osclass。在这里看到我在说什么:http://teste.goodluckwith.us/for-sale。当你先选择降价时,一切都好。但是,当你尝试选择新列出的它不起作用。 Thx – ThisGuy

回答

0

尝试在选择加入一个空白选项标签,它将使变化来触发。

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”添加到当前过滤器的选项标签。

+0

它的工作,但现在我有一个空白选项。如果没有这个空白区域,没有办法做到这一点? – ThisGuy