所以我正在努力使这项工作更加顺利,但我在整个事情上都是一种新的东西,所以我有一些我无法工作的东西。
我的第一个问题是逗号。因此,如果你拖动第一个范围并得到一个像1000000这样的值,我希望它看起来像1,000,000。或任何其他号码。
我已尝试过一些东西,但它看起来并不是一直有效。
function numberWithCommas(x) {
return x.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g, ",");
}
jQuery('#slider1out').each(function () {
var v_pound = jQuery(this).html();
v_pound = numberWithCommas(v_pound);
jQuery(this).html(v_pound);
});
这些是小提琴(通常当你拖动第一个范围并得到一个值时,答案应该出现在底部,但它不会出现在小提琴上,不知道为什么):https://jsfiddle.net/1x60sp0a/ < / p>
如果你能帮助我,我将不胜感激! 谢谢,并有一个伟大的周末!
答案 0 :(得分:0)
如果您将小提琴js加载类型更改为no wrap - in <body>
,则您的代码似乎正常工作(这将使您的jsfiddle正常工作)。
您可以将大部分代码放在正确的位置,以完成您所追求的目标。要使输出有效,它将基于form
元素oninput
事件设置output
元素的值。我们可以利用此事件来调用numberWithCommas
函数。
这可以通过两种方式完成:
将numberWithCommas
函数公开给全局范围,并以内联格式oninput
属性调用它。即。 oninput="level.value = numberWithCommas(flevel.valueAsNumber)"
JSFIDDLE
在我看来,更优选的是,自定义全局范围函数有可能被覆盖。挂钩表单上的input
事件,并执行我们自己的函数来替换output
元素的html。 (如果您选择此方法,我建议您将$('#slider1out')
和$('#flying1')
查找保存到输入函数之外的变量以减少DOM查找,以下格式提供的代码为简洁起见) {{3 }} 强>
$(function() {
function numberWithCommas(x) {
return x.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g, ",");
}
$('#calculationForm').on('input', function(){
$('#slider1out').html(numberWithCommas($('#flying1').val()));
});
});