我仅在表的可编辑列中验证编号有问题。 所以这里是我的html代码:
<table>
<tr>
<td contenteditable='true' name="presentase"></td>
</tr>
</table>
这是我的js,仅用于数字:
<script type="text/javascript">>
$(".allow_only_numbers").keydown(function (e) {
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110]) !== -1 ||
((e.keyCode == 65 || e.keyCode == 86 || e.keyCode == 67) && (e.ctrlKey === true || e.metaKey === true)) ||
(e.keyCode >= 35 && e.keyCode <= 40)) {
return;
}
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
});
</script>
如何使列只能在该“ td”标签上输入数字。我应将“ .allow_only_numbers”放在列标记中的什么位置?
所以帮我解决这个问题。谢谢
答案 0 :(得分:1)
您可以将allow_only_numbers
类放到td
您的contenteditable
也必须是true
$(".allow_only_numbers").keydown(function (e) {
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110]) !== -1 ||
((e.keyCode == 65 || e.keyCode == 86 || e.keyCode == 67) && (e.ctrlKey === true || e.metaKey === true)) ||
(e.keyCode >= 35 && e.keyCode <= 40)) {
return;
}
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table border="1" width="100px" height="50px">
<tr>
<td class="allow_only_numbers" contenteditable='true' name="presentase"></td>
</tr>
</table>
答案 1 :(得分:0)
您甚至可以在表格中使用格式化程序,例如以下代码使用函数在表格中呈现值
<th data-field="DELETE_DOWNLOAD" data-align="center" data-formatter="deleteFileFormatter"></th>
其中deleteFileFormatter是函数,函数返回的值将进入表