Javascript 使用jquery删除所选选项时出现问题
我正在为一个系列设计一些产品过滤器。过滤器是选择框中的选项。现在我试图实现,当选择“全部”选项时,它会删除所有其他选择的选项 这是密码Javascript 使用jquery删除所选选项时出现问题,javascript,jquery,Javascript,Jquery,我正在为一个系列设计一些产品过滤器。过滤器是选择框中的选项。现在我试图实现,当选择“全部”选项时,它会删除所有其他选择的选项 这是密码 <select class="coll-filter" id="select-1"> <option value="" class="test">All</option> {% for tag in tags %} {% if current_tags contains tag %} <
<select class="coll-filter" id="select-1">
<option value="" class="test">All</option>
{% for tag in tags %}
{% if current_tags contains tag %}
<option value="{{ tag | handle }}" selected class="test2">{{ tag }}</option>
{% elsif collection.all_tags contains tag %}
<option value="{{ tag | handle }}" class="test2">{{ tag }}</option>
{% endif %}
{% endfor %}
</select>
这样,它将删除选中的第一个选项的选择,但不会删除第二个选项,因此它似乎只在第一个选中的选项上触发。知道我做错了什么吗?我不确定您现有的代码是否也适用于第一个选项。因为更改事件发生在选择元素上,而不是选项上 我已经为您的代码应用了常规更改,现在您可以看到,当“全部”被选中时,所有其他的都将被取消选中
$(文档).ready(函数(){
showResults();
});
函数showResults(){
var期权=[];
$.each($(“#选择-1选项:选定”),函数(){
options.push($(this.val());
});
警报(“您已选择选项-”+选项。加入(“,”));
}
$('#select-1')。更改(函数(){
如果($('#select-1选项[value=all]')。是(':selected')){
警惕(“我在这里”);
//$('#select-1')。查找(“.test2”)。删除(':selected');
//$('select-1 option[value=all]')。attr('selected','selected');
$('select-1').val('all');
}否则{
showResults();
}
})
按控制键(Ctrl)选择多个值:
全部的
1.
2.
3.
也许你可以用这个
$('#select-1 option').change(function(){
if($(".test").is(':selected')){
$('#select-1').children...
您可以将“-1”设置为All
选项的值,并按如下操作:
$('#select-1').change(function() {
if($(this).val()== "-1")
$(this).find('option').not($('.test')).removeAttr("selected");
});
如果我的答案对您有所帮助,请接受并放弃投票,以帮助其他程序员在遇到相同问题时找到解决方案。大多数程序员看到的答案都是被接受或被投票赞成的。
$('#select-1').change(function() {
if($(this).val()== "-1")
$(this).find('option').not($('.test')).removeAttr("selected");
});