3

在 x 可编辑库中。如何进行数字输入?那不允许输入框中的任何字母。

我试过这段代码

<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 中它不起作用。有任何想法吗?

4

4 回答 4

7

以下解决方案对我有用:

    $('.editable').editable({
        type: 'text', 
        validate: function(value) {
            if ($.isNumeric(value) == '') {
                return 'Only numbers are allowed';
            }
        }
    });

返回一个错误字符串(例如“只允许数字”)很重要,因为否则 x-editable 无法识别验证失败。

于 2014-08-26T05:44:50.863 回答
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;
        }
    }
});
于 2014-03-09T21:17:41.120 回答
0

这并不像听起来那么容易。您需要允许其他键,如Enter, Tab,-等。

我建议使用已经使用和测试过的插件,比如Numeric,或者至少看看它们的实现。

于 2013-08-02T13:33:40.317 回答
0

使用data-step="any",而不是step="any"

前任 :

<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>
于 2020-09-16T09:06:58.590 回答