Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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 jQuery强制从输入刷新数据_Javascript_Jquery - Fatal编程技术网

Javascript jQuery强制从输入刷新数据

Javascript jQuery强制从输入刷新数据,javascript,jquery,Javascript,Jquery,我使用范围滑块,它将数据输出到输入字段。我试图将该数据乘以50,并在其下显示结果,但脚本仅在我手动将数据输入该字段时起作用 例如,如果您在该字段中写入5,将得到250,但如果您只移动滑块,则不会发生任何更改 如何强制jQuery刷新数据 jQuery("#slidervalue").change(function(){ var unit = parseFloat(jQuery(".unit").attr("data-init-unit")); var multiplier = parse

我使用范围滑块,它将数据输出到输入字段。我试图将该数据乘以50,并在其下显示结果,但脚本仅在我手动将数据输入该字段时起作用

例如,如果您在该字段中写入5,将得到250,但如果您只移动滑块,则不会发生任何更改

如何强制jQuery刷新数据

jQuery("#slidervalue").change(function(){
  var unit = parseFloat(jQuery(".unit").attr("data-init-unit"));
  var multiplier = parseInt(jQuery("#slidervalue").val());
  jQuery(".unit").html(unit * multiplier);
});
下面是完整的JSFIDLE:


谢谢大家!

您可以拆分
change
keyup
事件,并仅在
keyup
上处理滑块的更新

然后,当您根据滑块更新输入值时,您可以通过编程方式触发
change
事件

看这把小提琴的叉子:

更新:

要完全跳过输入,可以在调用slider
update
函数时设置输出元素的内容。这样代码就短了很多。看看这把新小提琴:


希望这有帮助。

您可以使用(图标看起来像是页面中的
,在这里可以使堆栈溢出,这样我们就可以知道什么元素是你的滑块,什么是你的文本框。我可以告诉你,不看
change
事件只会在用户更改值时触发,而不会在JavaScript更改值时触发……我想你可以添加
var unit=parseFloat(jQuery)(“.unit”).attr(“data init unit”);
jQuery(.unit”).html(unit*data.from)
分别作为新的第18行和第19行。更新了小提琴的链接。谢谢你,罗米!有没有办法完全跳过输入部分,只需乘以滑块数据并输出结果?是的,有。使用滑块的
更新
方法设置html元素的内容。查看更新的答案。干杯!谢谢再说一次!顺便问一下,我只是好奇,JavaScript中是否有一个选项可以将函数存储在变量中,并像调用
$total
之类的方式调用它?这样你就不会重复整个函数两次。哦,我刚刚做了!
var$sliderdata=function(data)
,它成功了。干杯!