2013-07-13 81 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