输入

时间:2018-10-04 05:51:27

标签: jquery jsgrid

我已经使用jsGrid数周了,并且做得很好。 但是,我在定位验证消息方面遇到了问题。 我需要将它们放置在输入单元格下方,而不是在警报窗口中显示标准消息。

enter image description here

如上图所示,我应该验证输入的Revision值是否遵循特定的模式,并在无效时返回一条消息,该消息现在显示在警报窗口中。 但是,我希望此消息显示在修订版输入本身下,如下图所示。

enter image description here

消息还应包含根据输入值驱动的动态处理的参数。

简而言之,我想要两件事,

1)在输入下方的单元格中插入验证消息 2)将从输入值驱动的动态参数传递给消息。

以下为我的消息来源,希望我能从您那里得到一些提示。 预先谢谢你。

fields : [

        {
            name : "id",
            width : "5%",
            type : "number",
            editing: false,
            readonly : true
        }, {
            name : "keyword",
            width : "15%",
            type : "text",
            editing: true,
            readonly : true,
        }, {
            name : "result",
            width : "20%",
            type : "text",
            editing: false,
            readonly : true
        }, 
        {
            name : "queryCount",
            width : "5%",
            type : "number",
            editing: false,
            readonly : true
        }, {
            name : "trueFalse",
            type : "select",
            width : "5%",
            items : ["","true","false"],

              editTemplate: function (value,item) {

                  var grid = this._grid;
                  var $result = jsGrid.fields.select.prototype.editTemplate.call(this);

                   var trueFalseIndex = 4;
                    var desiredValue = item.trueFalse;
                   grid.option("fields")[trueFalseIndex].editControl.val(desiredValue);

                  $result.on("change", function() {

                        var selectedValue = $result.val();
                        var revisionFieldIndex = 5;
                        if(selectedValue==2){

                            var desiredValue = item.result;
                            grid.option("fields")[revisionFieldIndex].editControl.val(desiredValue);
                            grid.option("fields")[revisionFieldIndex].editControl.attr("disabled",false);

                        }else{
                            grid.option("fields")[revisionFieldIndex].editControl.val("");
                            grid.option("fields")[revisionFieldIndex].editControl.attr("disabled",true);
                        }
                    });

                    return $result;
                },
            width : "auto",
        }, 
        {
            name : "revision",
            type : "text",
            width : "20%",
            editTemplate: function(value, item) {

                var $result = jsGrid.fields.text.prototype.editTemplate.apply(this, arguments);

                var tf = false;
                if(item.trueFalse==2){
                    tf = false;
                }else{
                    tf = true;
                }
                 $result.prop("disabled", tf);

                return $result;
            },
             validate:{
                 validator :     function(value, item, args){

                        var tokenTf = tokenCheck(value, item.keyword);
                        var tagTf = tagCheck(value);

                     return tokenTf==true && tagTf==true;

                     },
                     message : function(value, item){
                         return value;
                     }
             } 

        }, {
            name : "note",
            type : "text",
            width : "15%"
        },
        {
            type : "control",
            width : "10%",
            deleteButton: false,
        }
        ],

0 个答案:

没有答案