js
1$(function(){ 2 var selectOption = $("select#guiest_id1") 3 selectOption.change(function(){ 4 $("form#submit_form").submit(); 5 }); 6 7 $("select#guiest_id1").next().find("ul").on("click", "li", 8 function(e){ 9 var selectedOption = e.currentTarget.children[0].rel; 10 console.log($(`option[value=${selectedOption}]`)); 11 $("option[value=selectedOption]").prop("selected", true); 12 }); 13 }); 14
html
1<select name="sort" id="guiest_id1" class="select-drop" sb="10928896" style="display: none;"> 2 <option value="NEW_PRODUCTS">新着順</option> 3 <option value="LOW_PRICE">安い順</option> 4 <option value="HIGH_PRICE">高い順</option> 5 <option value="OLD_PEODUCTS">古い順</option> 6</select>
erb
1<form id="submit_form", method="get", action="<%=potepan_category_path(@taxon.id)%>"> 2 <select name="sort" id="guiest_id1" class="select-drop"> 3 <option value="NEW_PRODUCTS">新着順</option> 4 <option value="LOW_PRICE" >安い順</option> 5 <option value="HIGH_PRICE" >高い順</option> 6 <option value="OLD_PEODUCTS">古い順</option> 7 </select> 8</form>
change
でセレクトボックスを選択と同時にGETリクエストでページが遷移し並び替えを行うことは成功しましたが、セレクトボックスの位置が初期状態に戻ってしまいます。
初期状態に戻ってしまうと今が何順で並んでいるかが分からなくなってしまう為、遷移前に選択した値を記憶し遷移後にoption
タグをselected
の状態にしたいと考えております。
onclick
でクリックした要素のvalue
の値は取得できそうなので
$("option[value=selectedOption]").prop("selected", true);
のようにしてみましたが上手くいきません。
遷移前に選択したoption
が遷移後にselected
の状態になっているように実装したいです。
お手数ですがアドバイスなど頂けたらと思います。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/11 14:23