
“按颜色购买”是一个没有值的选项,因此选择此选项后,它将显示所有项目.选择任何其他选项后,它将显示该类别中的项目.
我想要的只是:
>当您单击.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上)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)