私のアプリのモバイルページには、以下のようなjQueryMobileドロップダウン選択メニューリストのヘッダーがあります。
<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>
私の問題は、ユーザーが別のページにリダイレクトすると、選択メニューがデフォルトで最初のオプション(「ホーム」)に戻ることです。選択メニューに現在のページを反映させるにはどうすればよいですか?
私の推測では、私はする必要があります
#1どのオプションが「アクティブ」であるかをマークし、次に
#2それがjavascriptを介してselectmenuでアクティブになっていることを確認してください。
これら2つのことを行うための最良の方法は何ですか?
私は以下のように#1を行うことができますが、それはかなり醜いです
<option value="<%= root_path %>" id="<%= "active" if params[:controller] == "links" && params[:action] == "index" %>">
#2に関しては、それを選択する最善の方法がわかりません。
ご意見をいただければ幸いです。