如果内部值大于99(输入新数字后的值),我将使用以下代码测试可编辑的td单元格。
$(document).on('keydown',"#checkvaluenumber", function (e) {
if( $(this).html() > 99) {
e.preventDefault();
}
});
由于keydown事件,测试值是keydown事件之前的值。 我知道我可以跳到键入,因此它将在新的数字输入后使用该值,但是我想防止使用大于99的任何数字,并且使用“键入”方法不能阻止任何输入。 有解决方案吗?
最好的问候,并预先感谢您!
答案 0 :(得分:0)
您可以执行以下操作。检查此小提琴以获取工作代码。 Fiddle
$('.td-with-class').on('keyup input paste', function () {
if (isNaN($(this).val())) {
$(this).val('');
}
if ($(this).val() > 99) {
$(this).val('');
}
});
答案 1 :(得分:0)
我发现了这个小提琴: http://jsfiddle.net/EBs33/1/ 而且效果很好!
但是我将代码添加到我的td字段中,并且它仍然反应太晚了。因此它会测试已经存在的值,并且如果已经超过100,则仅将其跳过到100。
$(document).on('keyup keydown',"#checkvaluenumber", function (e) {
console.log($(this).html() > 100)
if( $(this).html() > 100 && e.keyCode != 46 && e.keyCode != 8 ) {
e.preventDefault();
$(this).html(100);
}
});
此代码仅适用于输入而不是可编辑的td单元吗?