使用jQuery选择Autoclick Option

时间:2016-01-12 10:51:10

标签: javascript jquery

我正在尝试使用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。

第一个示例将所需过滤器设置为已选择,但过滤器功能未激活,因此产品仍然是相同的顺序。

选择过滤器后,页面不会重新加载。

希望你们能帮帮我

https://jsfiddle.net/azc66a0b/

2 个答案:

答案 0 :(得分:2)

尝试此操作:设置选择值,然后调用click(),如下所示。但请确保在调用click之前必须注册您的click处理程序。

$('.selectProductSort').val("price:asc").click();

在调用点击

之前/之后检查下面的jsfiddle演示

JSFIddle with Click handler registered before calling click

JSFIddle with Click handler registered after calling click

答案 1 :(得分:0)

  $('#selectPrductSort1').val("name:asc");    // Select by value
    text1 = "Reference: Laveste først";
    $("#selectPrductSort1 option:contains(" + text1 + ")").attr('selected', 'selected'); // select by text