我有一个带有数字的文本框,我最初通过脚本设置为7。当我输入文本框时,我希望数字减少,当我删除字符时,我希望它增加。我现在的脚本按预期减少了数量,但是当我删除时它仍会减少。如果字段中没有剩余字符,我按删除数字会增加。有人能让我走上正轨吗?感谢。
这就是我所拥有的:
var origCnt = 7;
$('#cntEngDesg_insert').html(origCnt);
$('#txtEngDesg_insert').keyup(function () {
var currentlen = $('#txtEngDesg_insert').val().length;
if (currentlen++) {
origCnt--;
$('#cntEngDesg_insert').html(origCnt);
}
else if (currentlen--) {
origCnt++;
$('#cntEngDesg_insert').html(origCnt);
}
});
答案 0 :(得分:4)
解决方案实际上要简单得多:
var origCnt = 7;
$('#cntEngDesg_insert').html(origCnt);
$('#txtEngDesg_insert').keyup(function (e) {
var currentlen = $('#txtEngDesg_insert').val().length;
if(currentlen <= origCnt) {
$('#cntEngDesg_insert').html(origCnt - currentlen);
} else {
$(this).val($(this).val().substring(0, origCnt));
}
});
答案 1 :(得分:0)
为什么不这样做?
var origCnt = 7;
$('#cntEngDesg_insert').html(origCnt);
$('#txtEngDesg_insert').keyup(function () {
var currentlen = $('#txtEngDesg_insert').val().length;
$('#cntEngDesg_insert').html(origCnt - currentlen );
});
你显然可以添加一些测试,看看你是否低于零,并以任何你需要的方式处理它
答案 2 :(得分:0)
这是星期五晚上,我还没有出去喝酒,所以我想做点什么来加快时间,即使答案已经提供了。我想出了这个可以重用它并利用HTML功能(在没有JavaScript的极少数情况下)。