jquery x-editable数字输入

时间:2013-08-02 12:23:22

标签: javascript jquery html x-editable

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

4 个答案:

答案 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>