Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在safari中选择ToIsLider不更改值_Javascript_Jquery_Html_Asp.net Mvc_Select To Slider - Fatal编程技术网

Javascript 在safari中选择ToIsLider不更改值

Javascript 在safari中选择ToIsLider不更改值,javascript,jquery,html,asp.net-mvc,select-to-slider,Javascript,Jquery,Html,Asp.net Mvc,Select To Slider,我正在使用SelectToIsLider为一个站点创建一个滑动搜索控件,在chrome、IE和windows phone上一切都很好。但是,在桌面safari或apple设备上,背景中的select值不会更改。“selected”属性会更改,但select元素的物理值不会更改。结果,我得到了错误的结果,一个查询字符串以不同的值两次传递到results视图中,导致了一个错误 我对SelectToIsLider使用了相当标准的语法。我已经检查过它是否与基本的jQueryUI一起工作 我已经使sele

我正在使用SelectToIsLider为一个站点创建一个滑动搜索控件,在chrome、IE和windows phone上一切都很好。但是,在桌面safari或apple设备上,背景中的select值不会更改。“selected”属性会更改,但select元素的物理值不会更改。结果,我得到了错误的结果,一个查询字符串以不同的值两次传递到results视图中,导致了一个错误

我对SelectToIsLider使用了相当标准的语法。我已经检查过它是否与基本的jQueryUI一起工作

我已经使select元素在这个JSfiddle中可见,以防有人想看到

$(文档).ready(函数(){

// SelectToUISlider显然在总体上与iOS系统存在兼容性问题。即使在iPad上使用谷歌Chrome,我也无法让它正常工作。不过,它在Android上使用Chrome系统时工作得非常好


我建议使用jQueryUI中的.slider()方法,但是如果您需要更具体的选择,那么我们也会遇到同样的问题。

我们必须包含jquery.ui.touch-punch“hack”脚本来让滑块在iOS safari上甚至响应。在我们这样做之后,我遇到了同样的问题,即下拉值没有设置。我相信这是因为SelectToIsLider使用的是旧的jQuery。在其默认的sliderOptions的slide函数中,它使用
.attr
函数设置所选选项。我认为这只是设置了属性元素的属性,但不是其DOM对象的属性。我将代码更新为:

currSelect.find('option:selected').prop('selected', false);

currSelect.find('option').eq(ui.value).prop('selected', true);
第一行可能不是必需的,但关键是使用
.prop
而不是
.attr

currSelect.find('option:selected').prop('selected', false);

currSelect.find('option').eq(ui.value).prop('selected', true);