我正在尝试使用jQuery自动选择产品排序过滤器,但我在使其正常工作时遇到了一些麻烦。
<select class="selectProductSort" id="selectPrductSort1" onchange="">
<option selected="selected" value="position:asc">Sorter efter</option>
<option value="price:asc">Pris: laveste først</option>
<option value="price:desc">Pris: højeste først</option>
<option value="name:asc">Varenavn: A til Å</option>
<option value="name:desc">Varenavn: Å til A</option>
<option value="quantity:desc">Lagervarer først</option>
<option value="reference:asc">Reference: Laveste først</option>
<option value="reference:desc">Reference: Højeste først</option>
</select>
到目前为止,我已尝试过以下内容,但没有运气。
$('.selectProductSort option[value="price:asc"]').prop('selected', 'selected').change();
$('.selectProductSort option[value="price:asc"]').trigger( 'click' );
$('.selectProductSort option[value="price:asc"]').click();
我尝试使用$(document).ready和without。
第一个示例将所需过滤器设置为已选择,但过滤器功能未激活,因此产品仍然是相同的顺序。
选择过滤器后,页面不会重新加载。
希望你们能帮帮我
答案 0 :(得分:2)
尝试此操作:设置选择值,然后调用click()
,如下所示。但请确保在调用click之前必须注册您的click处理程序。
$('.selectProductSort').val("price:asc").click();
在调用点击
之前/之后检查下面的jsfiddle演示答案 1 :(得分:0)
$('#selectPrductSort1').val("name:asc"); // Select by value
text1 = "Reference: Laveste først";
$("#selectPrductSort1 option:contains(" + text1 + ")").attr('selected', 'selected'); // select by text