当前代码,它将检索一个选定的选项(有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;
}
答案 0 :(得分:0)
有多个选项,您需要循环选择每个选项
$('.filter-selectpicker').on('change', function(){
$(this).find("option:selected").each(function(){
var location = $(this).attr('path');
window.location.replace(location);
});
});