【发布时间】:2011-10-22 14:53:41
【问题描述】:
我正在为多个 jQuery 滑块而苦苦挣扎 -
在这种情况下如果一个滑块增加,其他滑块会相应减少。滑块是动态创建的。我尝试了很多例子,但没有运气。
如果有 3 个滑块,每个设置为 500, 1000,1500,我将解释该场景,如果我将第一个滑块的值增加到 100(500+100),那么应该从其他两个滑块减少 100(每个 50 )。
我检查了http://jsfiddle.net/jenishkottaram/sNfBM/14/ 和http://jsfiddle.net/Y5ZLL/400/,但对我来说没有帮助。
非常感谢任何帮助。
谢谢
//滑块从这里开始
drawSlider: function(elementId, sliderMax, sliderVal, rate) {
$("#" + elementId).each(function() {
$( this ).empty().slider({
range: "max",
min: 0,
max: sliderMax,
value: sliderVal,
step: 100,
slide: function(event, ui) {
// Update display to current value
$(this).siblings().text(ui.value);
// Get current total
var total = 0;
$("#" + elementId).not(this).each(function() {
total += $(this).slider("option", "value");
});
// Need to do this because apparently jQ UI
// does not update value until this event completes
total += ui.value;
var max = sliderMax - total;
// Update each slider
$("#" + elementId).not(this).each(function() {
var t = $(this),
value = t.slider("option", "value");
t.slider("option", "max", max + value)
.siblings().text(value + '/' + (max + value));
t.slider('value', value);
});
}});});},
我正在使用 for 循环来动态显示滑块
for (i = 0; i < aBal.length; i++) {
for (j = 0; j < balanceRange.length; j++) {
if (aBal[i] == balanceRange[j]) {
if (aCur[j] == activeCurrency) {
$('#account-wrapper-holder').append('<div class="account-wrapper">' +
'<h6>' + aName[j] + ':' + aNum[j] + '</h6>' +
'<p><span id="text-tot-allocate-value' + aName[j] + aNum[j] + '">Current cash balance: $' + balanceRange[j] + '</span>' +
'<span>Total to allocate:<input type="text" id="tot-allocate-value' + aName[j] + aNum[j] + '" value="' + balanceRange[j] + '" onchange="s.setValue(parseInt(this.value))"/></span></p>' +
'<div class="slider_class"><div class="cash-slider" id="slider-' + aName[j] + aNum[j] + '"></div>' +
'</div><span class="value">0</span><span class="var-account-total-balance" style="float:right;">$0</span></div>'
);
{
_this.drawSlider('slider-' + aName[j] + aNum[j] + '', sumOfCurrencyBalances, balanceRange[j], accountRate);
【问题讨论】:
-
如果一个滑块增加,其他滑块相应减少,我需要添加一个多个滑块。谢谢观看。
-
好的,所以您不希望其他人相应减少?那是我最初没有得到的部分(你只是把它作为描述的一部分,没有像“我怎样才能让这些其他滑块不改变?”)。
-
您正在更新其他滑块的值;很明显,这就是让他们的价值观发生变化的原因。您能否澄清一下您希望代码做什么而它没有做什么?
-
在当前情况下,如果我增加一个滑块,其他两个滑块不会减少(它们甚至不会自动改变)类似于这个抵押计算器estately.com/listings/info/115-46-inwood-st
-
好的,我们正在取得进展:您希望他们改变(显然他们不是)。那么其他滑块在做什么呢?他们在改变吗?另外,您是否收到任何 JS 错误或只是静默失败?