jqGrid позволяет только цифры при редактировании ячейки - PullRequest
4 голосов
/ 17 февраля 2011

Я хочу запретить моему пользователю печатать буквы в числовом поле. Я видел, что есть опция: editrules:{number:true}, но эта опция позволит пользователю нажимать любую клавишу, которую он хочет, и только при сохранении строки будет предупреждать о недопустимом вводе. Это не хороший вариант для меня. Я хочу, чтобы с самого начала было запрещено вводить ключи, которые не являются числами (например, при обычном вводе я могу использовать jQuery .numeric()).

Как это можно сделать?

Ответы [ 3 ]

4 голосов
/ 23 ноября 2012
      {name:'actualNo',index:'actualNo',editable:true, edittype:"text", width:150,editoptions:{
                                size: 15, maxlengh: 10,
                                dataInit: function(element) {
                                    $(element).keyup(function(){
                                        var val1 = element.value;
                                        var num = new Number(val1);
                                        if(isNaN(num))
                                        {alert("Please enter a valid number");}
                                    })
                                }
                            }},
3 голосов
/ 17 февраля 2011

Я не использую jQuery.numeric подключаемый модуль самостоятельно, но я полагаю, вам следует использовать dataInit свойство editoptions для соответствующего столбца сетки:

editoptions: { dataInit: function (elem) { 
                   $(elem).numeric(/*some optional parameters*/); 
               }
}

или в случае проблем в форме

editoptions: { dataInit: function (elem) {
                   setTimeout(function(){
                       $(elem).numeric();
                   }, 100);
               }
}

Надеюсь, это сработает.

1 голос
/ 17 сентября 2014

{name: 'rate', индекс: 'rate', выровнять: "left", ширина: '150', editable: true,

            edittype:"text", editoptions:{
                size: 25, maxlengh: 30,
                dataInit: function(element) {
                    $(element).keypress(function(e){
                         if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
                            return false;
                         }
                    });
                }
            }
        },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...