使用几个选定的选项访问多个选择的特定attr

时间:2016-03-23 00:50:18

标签: javascript jquery

当前代码,它将检索一个选定的选项(有2个选中)。

<select class="filter-selectpicker" multiple="multiple">
      <option data-path="all?page=1&type=3,4,6" selected>Type 6</a>
      <option data-path="all?page=1&type=3,4,7" selected>Type 7</a>
      <option data-path="all?page=1&type=3,4,8">Type 8</a>
    </select>

$('.filter-selectpicker').on('change', function(){
        var location = $('.filter-selectpicker option:selected').data('path');
        window.location.replace(location);
});

如何访问用户点击的特定<option>并获取路径属性?现在它只会找到第一个选择的选项。

我的目标是在用户点击<option>时将用户重定向到新网址。

使用PHP添加所选内容(检查$ _GET,如果它在数组中 - &gt;选择了回显到<option>)。

我正在使用bootstrap-select,[https://silviomoreto.github.io/bootstrap-select/][1]

希望我很清楚。提前谢谢!

-------- --------更新

而不是使用echo“Selected”,我所做的是data-icon="' . $path["selected"] . '"(如果它在$ _GET中它将返回图标代码,在我的情况下:glyphicon-ok)。

现在,问题是图标将放在文本的左侧,解决方法是编辑bootstrap-select.js

首先添加一个类(在本例中为myNewClass):

icon = typeof $this.data('icon') !== 'undefined' ? '<span class="' + that.options.iconBase + ' ' + $this.data('icon') + ' myNewClass"></span> ' : '',

接下来,更改文本输出的顺序:

这:text = icon + '<span class="text">' + text + subtext + '</span>';

收件人:text = '<span class="text">' + text + subtext + '</span>'+ icon;

不要忘记新课程的CSS:

.myNewClass {
    padding-left: 10px;
}

1 个答案:

答案 0 :(得分:0)

有多个选项,您需要循环选择每个选项

$('.filter-selectpicker').on('change', function(){
$(this).find("option:selected").each(function(){
        var location = $(this).attr('path');
        window.location.replace(location);
});
});