jquery选择多个onchange选择和取消选择选项(在ipad上)

jquery选择多个onchange选择和取消选择选项(在ipad上),第1张

概述我在iPad上选择取消选择选项时遇到问题. “按颜色购买”是一个没有值的选项,因此选择此选项后,它将显示所有项目.选择任何其他选项后,它将显示该类别中的项目. 我想要的只是: >当您单击.othervalue选项时,“按颜色选购”(.firstvalue)应取消选择,并且应选择单击的选项 >当您单击.firstvalue选项时,它应该被选中,并且应该取消选择所有其他选项(.othervalue) 我在iPad上选择和取消选择选项时遇到问题.

“按颜色购买”是一个没有值的选项,因此选择此选项后,它将显示所有项目.选择任何其他选项后,它将显示该类别中的项目.

我想要的只是:

>当您单击.othervalue选项时,“按颜色选购”(.firstvalue)应取消选择,并且应选择单击的选项
>当您单击.firstvalue选项时,它应该被选中,并且应该取消选择所有其他选项(.othervalue)

这是我尝试过的:

$(document).ready(function() {    $('select').change(function() {        var $this = $(this);        if($("option.firstvalue").is(":selected")) {                            $this.find('option:first').attr('selected',false);        } else {                                           $this.find('option:gt(0)').attr('selected',false);        }    });});

**完整的代码开启:http://jsfiddle.net/GNpzq/ **

我想我应该使用$(‘select’).change()因为iPad正确触发了那个事件,但我不确定.

任何人都可以帮我这个代码吗?

谢谢!

编辑:
这里是解决问题的代码,也许有人会使用.

$(function() {    // select and deselect default OPTION for filters    var firstSelectState = new Array;    var optionsArray = new Array;    $('select').change(function() {        var ID = this.ID;        if (!ID) {            ID = Math.round(Math.random()*99999);            this.ID = ID;        }        if (typeof(firstSelectState[ID])=="undefined") firstSelectState[ID] = this.options[0].selected;        var tmpOptionsArray = new Array();        for (var i = 1; i<this.options.length; i++) {            tmpOptionsArray[i] = this.options[i].selected;        }        if (typeof(optionsArray[ID])=="undefined") {            optionsArray[ID] = tmpOptionsArray;        }        var firstSelected = (firstSelectState[ID]!=this.options[0].selected);        var otherSelected = false;        for (var i = 1; i<this.options.length; i++) {            if (optionsArray[ID][i]!=tmpOptionsArray[i]) {                otherSelected = true;                break;            }        }        optionsArray[ID] = tmpOptionsArray;        if (firstSelected && !otherSelected) {            for (var i = 1; i<this.options.length; i++) {                this.options[i].selected = false;            }        } else {            this.options[0].selected = false;            firstSelectState[ID] = false;        }    });});
解决方法 目前您正在阻止任何选择,您的条件是说如果选择了第一个选项取消选择它,如果选择其他选项也取消选择它们,请尝试以下 *** 作:

$('select').change(function() {    if (this.selectedindex === 0) {        $('option:gt(0)',this).prop('selected',false);    } else {        $('option:first',false);    }});

http://jsfiddle.net/LynCV/

总结

以上是内存溢出为你收集整理的jquery选择多个onchange选择和取消选择选项(在ipad上)全部内容,希望文章能够帮你解决jquery选择多个onchange选择和取消选择选项(在ipad上)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1079328.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存