我試圖設置機票價格計算器,它根據選定的位置向您顯示每張票的價格。基於選擇選項更改jQuery UI滑塊值
機票價格計算器的值基於在select
表單中設置的value
屬性。
除了$('region').on('change')
動作外,我的所有代碼都可以工作。我根本無法將計算器中的數據更新爲新值。
小提琴:http://jsfiddle.net/2hmcf5wf/1/
$(function() {
// setting up region variables
switch ($('#region').val()) {
case '10':
var cost = 10,
time = 300;
break;
case '20':
var cost = 20,
time = 600;
break;
}
// slider
$('#slider').slider({
max: time,
min: cost,
step: cost,
value: cost,
slide: function(event, ui) {
update(cost, time, ui.value);
}
});
// set initial values
$('#ticket').html('1 ticket');
$('#price').html('$' + $('#slider').slider('value'));
// region change
$('#region').on('change', function() {
update();
});
});
function update(cost, time, value) {
$('#ticket').html((value/cost) + ' ticket');
$('#price').html('$' + value);
}
body {
text-align: center;
margin: 50px auto;
}
#region {
display: block;
margin: 10px auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<select id="region">
<option value="10" >Los Angeles, CA</option>
<option value="20">New York, NY</option>
</select>
<div id="slider"></div>
<span id="ticket"></span>
<div id="slider"></div>
<div id="price"></div>
你寫道:'$(「#區域」)。在(「變」,函數(){update();});'但你的函數需要3個參數:'函數更新(成本,時間,價值)' –
[jsfiddle working demo](http://jsfiddle.net/turbopipp/vLg1nvss/),它也保持滑塊的位置。 – turbopipp