2016-08-25 57 views
2

我想要創建一個Hoverable Dropdown來動態地按名稱或日期排序我的結果。以前我曾使用和標記創建一個下拉列表中,一切工作正常我已將從選擇標籤和選項標籤創建的下拉菜單更改爲可靠下拉菜單。我應該如何傳遞值

我的代碼是:

<select name="sort-by" id="sort"> 
     <option value="name" <?php if($orderby == 'name') echo "selected='selected'";?>>name</option> 
     <option value="date" <?php if($orderby == 'date') echo "selected='selected'";?>>date</option> 
    </select> 

我已經更改爲

<div class="sort"> 
    <ul> 
    <li><a href="#">name</a></li> 
    <li><a href="#">date</a></li> 
    </ul> 
    </div> 

已轉換爲Hoverable下拉。但現在的問題是,代碼如何知道我點擊了一個鏈接,並因此傳遞了一個值$ orderby,我在另一個頁面上使用if(isset($ _ POST [order_by]))在sql查詢中使用?

回答

1

對不起@kanayo,但這不是工作或也許我沒有妨礙它在正確的方式。這是正確的方式來保持它

<div class="sort"> 
    <script> 
    $('ul li a').click(function(){ 
    newValue = $(this).html(); 
    $('input#order_by').val(newValue); 
    }); 
    </script> 
    </div> 
    <ul> 
    <input type="hidden" id="order_by" name="order_by" value=""/> 
    <li><a href="#" >Name</a></li> 
    <li><a href="#" >Date</a></li> 
    </ul> 
    </div> 
+0

大聲笑。它與我的答案完全一樣。你們都是這樣做的。但請注意。如果它不起作用,那麼它或者你沒有包含jQuery庫,或者你有一個語法錯誤 –

+0

如果它解決了,你可以標記它的答案 –

2

您可以使用JavaScriptjQuery來實現。首先,當用戶點擊這樣

$('ul li a').click(function(){ 
    newValue = $(this).html(); 
    $('input#order_by').val(newValue); 
}); 

注意任何選項來創建一個隱藏的輸入字段

<input type="hidden" id="order_by" name="order_by" value="" /> 

然後使用jQuery更新input領域的value:不要忘了包括jQuery庫到您的腳本。還請記住,您的輸入字段必須位於您提交的form標籤內。

這裏是一個jsFiddle顯示結果