$(document).ready(function() {
var label = parseInt($("#label1").html());
alert(label);
$("#Incre").click(function() {
$("#number").val(parseInt($("#number").val()) + label);
});
$("#Decre").click(function() {
$("#number").val(parseInt($("#number").val()) - label);
});
});
<label id='label1'>50</label>
<input id='number' value=0></input>
<button id='Incre'>Incre</button>
<button id='Decre'>Decre</button>
我有这个代码它正在工作。但是当文本框值为零时。如果我点击减量按钮,文本框值将变为负值。如何控制这个。
答案 0 :(得分:0)
检查更新时的值,如果值小于0
,则设置为上一个值
$(document).ready(function() {
var label = parseInt($("#label1").html()),
$num = $("#number");
$("#Incre").click(function() {
$num.val(function(i, v) {
return parseInt(v) + label
});
});
$("#Decre").click(function() {
$dec = $(this);
$num.val(function(i, v) { // use callback to update based on old value
var res = parseInt(v) - label; // get the decremented value
return res < 0 ? v : res; // return old value if -ve value reached
});
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<label id='label1'>50</label>
<input id='number' value=0></input>
<button id='Incre'>Incre</button>
<button id='Decre'>Decre</button>
&#13;
答案 1 :(得分:0)
您可以使用此代码: -
<script>
$(document).ready(function() {
var label = parseInt($("#label1").html());
alert(label);
$("#Incre").click(function() {
$("#number").val(parseInt($("#number").val()) + label);
});
$("#Decre").click(function() {
var final_number = parseInt($("#number").val()) - label;
if (final_number >= 0) {
$("#number").val(parseInt($("#number").val()) - label);
}
});
});
</script>
<label id='label1'>50</label>
<input id='number' value=0></input>
<button id='Incre'>Incre</button>
<button id='Decre'>Decre</button>
答案 2 :(得分:0)
您也可以使用Math.max()
。
$("#number").val(Math.max(0, parseInt($("#number").val())-label));