Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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
jquery两个不同价格的滑块_Jquery_Slider - Fatal编程技术网

jquery两个不同价格的滑块

jquery两个不同价格的滑块,jquery,slider,Jquery,Slider,我现在是stuk,有以下几点: 我有两个滑块:一个带数量,另一个带合同期限。 如果数量增加,每件的价格就会下降。 如果合同期延长,每件的价格将下降更多 我现在有: 不知何故,当我使用批次时,改变每件的价格是行不通的 qty = ui.value; //-> this works qty = batches[ui.value - 1]; //-> this doesn't work 有人能帮我解决这个问题吗? 谢谢 在滑块处理程序中更改以下行: $("input"

我现在是stuk,有以下几点:

我有两个滑块:一个带数量,另一个带合同期限。 如果数量增加,每件的价格就会下降。 如果合同期延长,每件的价格将下降更多

我现在有: 不知何故,当我使用批次时,改变每件的价格是行不通的

    qty = ui.value;  //-> this works

    qty = batches[ui.value - 1]; //-> this doesn't work
有人能帮我解决这个问题吗?
谢谢

在滑块处理程序中更改以下行:

$("input").val(prices[contract][qty - 1]);

原始代码使用变量
qty
,该变量是一个字符串。当您尝试从中扣除1时,它会导致“不是一个数字”,无法用于索引
批次
数组

您的
价格
数组也有问题。它们只包含三个值,但滑块可以选择第四个值,您需要在这些数组的末尾添加一个值:

var prices = {
    'none': [10, 9, 8, ?],
    '12 months': [9, 8, 7, ?],
    '24 months': [8, 7, 6, ?],
    '36 months': [7, 6, 5, ?],
};

我不确定的是,当页面第一次加载时,为什么滑块不能正确地设置动画

编辑:

加载页面时滑块不工作的原因是用于初始化变量的值:

var contract = 'Geen'
移动滑块时,代码
$(“输入”).val(价格[合同][数量-1])
尝试在
contracts
数组中查找值
Geen
,但失败,因此函数因错误而结束,jQueryUI从未完成更新滑块的工作。直到移动第二个滑块,变量才能正确设置

contract
的初始值设置为“无”意味着代码将正确执行,滑块将设置动画

您还遇到了一个错误,在设置价格时更改合同期限滑块忽略了数量滑块的值。该行:

$("input").val(prices[contract][ui.value - 1]);
在“slider2”中,事件处理程序应更改为:

$("input").val(prices[contract][$("#slider1").slider("value") - 1]);

看看它现在在哪里工作。

在滑块处理程序中更改以下行:

$("input").val(prices[contract][qty - 1]);

原始代码使用变量
qty
,该变量是一个字符串。当您尝试从中扣除1时,它会导致“不是一个数字”,无法用于索引
批次
数组

您的
价格
数组也有问题。它们只包含三个值,但滑块可以选择第四个值,您需要在这些数组的末尾添加一个值:

var prices = {
    'none': [10, 9, 8, ?],
    '12 months': [9, 8, 7, ?],
    '24 months': [8, 7, 6, ?],
    '36 months': [7, 6, 5, ?],
};

我不确定的是,当页面第一次加载时,为什么滑块不能正确地设置动画

编辑:

加载页面时滑块不工作的原因是用于初始化变量的值:

var contract = 'Geen'
移动滑块时,代码
$(“输入”).val(价格[合同][数量-1])
尝试在
contracts
数组中查找值
Geen
,但失败,因此函数因错误而结束,jQueryUI从未完成更新滑块的工作。直到移动第二个滑块,变量才能正确设置

contract
的初始值设置为“无”意味着代码将正确执行,滑块将设置动画

您还遇到了一个错误,在设置价格时更改合同期限滑块忽略了数量滑块的值。该行:

$("input").val(prices[contract][ui.value - 1]);
在“slider2”中,事件处理程序应更改为:

$("input").val(prices[contract][$("#slider1").slider("value") - 1]);

看看它现在在哪里工作。

你能检查一下吗?如果它不是你所需要的,请告诉我,你没有parseInt@abhi-您不能
parseInt
a范围。var
qty
将包含一个来自
batches
数组的字符串:“1-50”、“51-250”、“251-1000”、“1000+”no am not doin parseInt on range Tony,它在字符串上,数组的索引qty=batches[parseInt(ui.value)-1]您能检查一下吗?如果它不是你所需要的,请告诉我,你没有parseInt@abhi-您不能
parseInt
a范围。var
qty
将包含一个来自
batches
数组的字符串:“1-50”、“51-250”、“251-1000”、“1000+”不,我没有在范围Tony上进行parseInt,它在字符串上,数组的索引qty=batches[parseInt(ui.value)-1]+1我想这应该可以解决您的错误,您错过了一个类型转换,数组绑定的范围小于范围。谢谢!现在我有进展了。实际上,第一个滑块的动画设置不正确。有人知道怎么回事吗?@user1640644-我又看了一遍代码,解决了滑块问题。请参阅我的更新答案。+1我认为这应该可以解决您的错误,您错过了一个类型转换,并且数组绑定范围小于范围。谢谢!现在我有进展了。实际上,第一个滑块的动画设置不正确。有人知道怎么回事吗?@user1640644-我又看了一遍代码,解决了滑块问题。请参阅我的最新答案。