在x-editable库中。如何输入数字?这不允许输入框中的任何字母。
我试过这段代码
<a class="items" data-name="itemqty" data-title="Enter Item Quantity" data-type="text" href="#" id="itemqty" onkeypress="return isNumberKey(event)"></a>
<script>
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
} else {
return true;
}
}
</script>
但它不起作用。如果我使用普通输入文本它可以工作,但在x-editable中它不起作用。有什么想法吗?
答案 0 :(得分:7)
以下解决方案适合我:
$('.editable').editable({
type: 'text',
validate: function(value) {
if ($.isNumeric(value) == '') {
return 'Only numbers are allowed';
}
}
});
返回错误字符串非常重要(例如“只允许数字”),否则x-editable不会识别验证失败。
答案 1 :(得分:1)
$('.jmlcolly,.jumlahitem,.beratsatuan').editable({
type: 'text',
inputclass:'lebar',
showbuttons:false,
title: 'Enter new value' ,
validate: function(value) {
if($.trim(value) == '') {
alert('This field is required');
return false;
}
if ($.isNumeric(value) == '') {
alert('This Number is required');
return false;
}
}
});
答案 2 :(得分:0)
它并不像听起来那么容易。你需要允许其他键,如 Enter , Tab , - 等。
我建议使用已经使用过的插件,例如Numeric,或者至少查看它们的实现。
答案 3 :(得分:0)
使用data-step="any"
代替step="any"
Ex:
<span id="cost" data-type="number" data-pk="1" data-title="cost" class="editable editable-click" data-step="any" onclick="callFunctionEditable('cost');">58.54545 </span>