2015-06-02 22 views
1

我有一个用户输入数字的简单文本框,然后用一个值更新页面上的多个元素。JQuery - 为输入的每个50增加值输出

目前他们的脚本会将输入的数字乘以一定数量。

$('input').keyup(function() { 
     var v = $(this).val(); 
     v = isNaN(v)?'':v; 
     $(this).val(v); 
     $("#spot1 span").html(v * 100); 
     $('#spot2 span').html(v * 200); 
    }); 

HTML:

<div><input id="number" name="number" type="text"><br /></div> 

    <div id="spot1">Section 1: <span></span><br /></div> 
    <div id="spot2">Section 2: <span></span><br /></div> 

我想这样做的是仅基于增加消化非常时期X部2的输出输入到输入框中

EG。小于50第2部分显示1,然后每进入50就增加1.因此,如果输入数字250,则第2部分实际上会显示4

回答

1

使用师行,试试这个样品进入 '250'

$('input').keyup(function() { 
 
     var v = $(this).val(); 
 
     v = isNaN(v)?'':v; 
 
     $(this).val(v); 
 
     $("#spot1 span").html(v); 
 
     $('#spot2 span').html(Math.ceil((v * 4)/250)); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div><input id="number" name="number" type="text"><br /></div> 
 

 
    <div id="spot1">Section 1: <span></span><br /></div> 
 
    <div id="spot2">Section 2: <span></span><br /></div>

+0

ceil看起来是这个例子中最好的选择。谢谢:) – David

0

这里是JSFiddle

$(document).ready(function() { 
$('input').keyup(function() { 
     var v = $(this).val(); 
     v = isNaN(v)?'':v; 
     $(this).val(v); 
     $("#spot1 span").html(v * 100); 
     $('#spot2 span').html(Math.round(v/50)); 
    }); 
}); 
1
$("#spot2 span").html(Math.floor(v/50) + 1) 

应该做的伎俩,至少对x的正值。

+0

把我放在正确的轨道上,几乎得到我需要的答案。谢谢 – David