如果另一个元素的值发生变化,我需要设置滑块的值,反之亦然,但是我很难将另一个表单元素的值设置为滑块的值。
当 Select 元素的值更改时,下面的函数会更改 Slider 的值,但我无法让它反向工作。我在这里发布了一个小提琴:http: //jsfiddle.net/chayacooper/v3gUg/28/
我正在使用jQuery Slider 插件、jquery-1.8.2 和 jquery-ui-1.9.1。
JS
$(document).ready(function () {
var select = $("#SliderSelect");
jQuery("#Slider").slider({
from: 1,
to: 5,
scale: ['Dislike', '', '', '', 'Love'],
limits: false,
step: 1,
dimension: '',
skin: "classic",
change: function (evt) {
$("#SliderSelect")[0].value = $(evt.target).slider("value");
}
});
$("#SliderSelect").change(function () {
jQuery("#Slider").slider("value", this.selectedIndex + 1);
});
});
我也试过用这个语句替换代码并使用文本框而不是选择元素,结果相同
$('#text_value').val( $(evt.target).slider("value") );
HTML
<div class="layout-slider">
<div id="Slider" type="slider" name="area" value="3"></div>
</div>
<select name="SliderSelect" id="SliderSelect">
<option>1</option>
<option>2</option>
<option selected=selected>3</option>
<option>4</option>
<option>5</option>
</select>