我的應用程序的移動頁面有一個包含jQuery Mobile下拉列表的選擇菜單列表,如下所示。在jQuery Mobile中選擇活動選項
<span data-role="fieldcontain" id="category-dropdown">
<select name="select-native-2" id="select-native-2" data-mini="true">
<option value="<%= root_path %>">Home</option>
<option value="<%= newest_path %>">New</option>
<option value="<%= group_path(Group.find(1)) %>">Group 1</option>
<option value="<%= group_path(Group.find(2)) %>">Group 2</option>
<option value="<%= group_path(Group.find(3)) %>">Group 3</option>
</select>
</span>
我正在使用下面的JavaScript導航到選定的頁面。
<script type="text/javascript">
$(document).ready(function() {
$("#select-native-2").change(function(){
if ($(this).val()!='') {
window.location.href=$(this).val();
}
});
});
</script>
我的問題是,當用戶重定向到另一個頁面時,選擇菜單默認回到第一個選項(「Home」)。我如何使選擇菜單反映當前頁面?
我的猜測是,我需要
#1標誌,它的選擇是 「積極的」,然後
#2確保已通過JavaScript在selectmenu激活。
做這兩件事的最好方法是什麼?
我可以爲低於1做#,但它是很醜陋
<option value="<%= root_path %>" id="<%= "active" if params[:controller] == "links" && params[:action] == "index" %>">
至於#2,我不知道最好的辦法是選擇它的。
希望你的意見!
謝謝@Steve,這是完美的。你能通過ruby來擴展嗎?我正在考慮在'value'和'selected value'之間的if/else會非常混亂。有沒有更好的方法來做到這一點? – umezo 2013-03-21 14:10:13