Javascript jQuery滑块和输入的问题
我正在尝试制作我的第一个jQuery滑块,我有以下代码:Javascript jQuery滑块和输入的问题,javascript,jquery,jquery-slider,Javascript,Jquery,Jquery Slider,我正在尝试制作我的第一个jQuery滑块,我有以下代码: $("#str").keyup(function(event) { var data=$("#str").val(); if (data.length>0) { var intdata=SpecialRound(parseFloat(data)); if (intdata>=0 && intdata<=20) { $("#str_slider").slider("option", "valu
$("#str").keyup(function(event) {
var data=$("#str").val();
if (data.length>0)
{
var intdata=SpecialRound(parseFloat(data));
if (intdata>=0 && intdata<=20)
{
$("#str_slider").slider("option", "value", data);
}
else
{
if (intdata<0)
{
$("#str").val("0");
$("#str_slider").slider("option", "value", "0");
}
if (intdata>20)
{
$("#str").val("20");
$("#str_slider").slider("option", "value", "20");
}
}
}
});
$(“#str”).keyup(函数(事件){
var数据=$(“#str”).val();
如果(数据长度>0)
{
var intdata=specialrund(parseFloat(data));
如果(intdata>=0&&intdata,我认为您的选择器$(“#str”)
是问题所在,因为您的输入没有ID#str,只有一个值为“str”的name属性。正确的选择器应该是$(“input[name=“str”]”)
编辑:
实际问题是这个特殊的round函数,因为您使用的是一个不存在的函数“round()”。请改用这个函数:
//Special round
function SpecialRound(f) {
return Math.round(f*100) / 100;
}
我认为您的选择器$('#str')
是个问题,因为您的输入没有ID#str,只有一个值为“str”的name属性。正确的选择器应该是$('input[name=“str”]”)
编辑:
实际问题是这个特殊的round函数,因为您使用的是一个不存在的函数“round()”。请改用这个函数:
//Special round
function SpecialRound(f) {
return Math.round(f*100) / 100;
}
如果我是你,我会使用更改事件而不是键控
例如:
$( "#str" ).change(function() {
var val = this.val(); // you can do your rounding here then...
$("#str_slider").slider( "value", val );
});
如果我是你,我会使用更改事件而不是键控
例如:
$( "#str" ).change(function() {
var val = this.val(); // you can do your rounding here then...
$("#str_slider").slider( "value", val );
});
通过查看您的测试页面,您可以看到SpecialRound中的第54行
var r=round(f*100)/100;
那应该是
var r=Math.round(f*100)/100;
通过查看您的测试页面,您可以看到SpecialRound中的第54行
var r=round(f*100)/100;
那应该是
var r=Math.round(f*100)/100;
啊,对不起。我混合了一些旧代码和新代码。但是你可以在第232行看到我的ID。好的,没有看到第二个输入,对不起。你的特殊的round()函数是问题所在,你在那里使用了round()
,但它实际上是Math.round()
。啊,你没有把你的代码放进去(将事件侦听器绑定到keyup事件的侦听器)进入onReady事件监听器,以便在DOM准备好执行此类操作时执行。现在,jQuery尝试将事件监听器绑定到在执行代码时尚未显示的输入。明白我的意思吗?啊,对不起。我将一些旧代码与新代码混合在一起。但是您可以在第232行看到我有ID。好的,d很抱歉,我看不到第二个输入。问题出在您的specialRound()函数上,您使用的是round()
,但实际上是Math.round()
。啊,您没有放入代码(将事件侦听器绑定到keyup事件的代码)进入onReady事件监听器,以便在DOM准备好执行此类操作时执行。现在,jQuery尝试将事件监听器绑定到代码执行时尚未出现的输入。明白我的意思吗?哦,这只是一个我用来舍入到两位小数的函数。哦,这只是一个我用来舍入到的函数两位小数。