如何在标题中的jqGrid文本字段中添加占位符?

时间:2016-02-18 05:52:31

标签: javascript jquery jqgrid

enter image description here

我的jqgrid包含多个字段,我想过滤网格。例如,假设我的网格包含'name'字段,我想用name =“aron”过滤网格的数据。现在,我想告诉用户,您应该只在此字段中输入名称来过滤网格。

我对jqGrid很新,需要别人的帮助才能继续前进。我想在网格上的标题行文本字段中添加占位符,因为我可以向用户提供一些指令以输入数据进行过滤。我想让它变得通用,每当我向网格添加一个文本字段时,都应该添加一个通用的占位符(输入提示)。我不确定我的jquery.jqGrid.min.js是如何工作的,以及在哪里进行更改以达到我的要求。

任何人都可以帮我解决这个问题.. ??

提前致谢, Santosh Manne。

 model.dataType = dataType;
    if (dataType == 'datetime' || dataType == 'date') {
        if (!model.formatter){
    model.formatter = 'date';
    }
    formatColumns += '<Column><ColName>'+model.xmlmap+'</ColName><ColType>'+dataType+'</ColType></Column>';

        if (!model.formatoptions) {
            model.formatoptions = {
              srcformat: 'SortableDateTime',
              newformat: (dataType == 'date')?'Y-m-d':'Y-m-d H:i:s',
              defaultValue: null
            };
        }
        else {
            if (!model.formatoptions.srcformat)
                model.formatoptions.srcformat = 'SortableDateTime';
            if (!model.formatoptions.newformat)
                model.formatoptions.newformat = (dataType == 'date')?'Y-m-d':'Y-m-d H:i:s';
        }
        if (dataType == 'date') {
            model.searchoptions.dataInit = function(el) {
                $(el).datetimepicker({format: 'YYYY-MM-DD', pickDate:true, pickTime:false});
            };
        }
        else {
            model.searchoptions.dataInit = function(el) {
                $(el).datetimepicker({format: 'YYYY-MM-DD HH:mm:ss', useSeconds:true, sideBySide:false});
            };
        }
        model.width = 210;
    }

而且我的jqgrid实现如下所示。

<DataGrid> <Columns> <Column name="date" mapping="createdDate".../> </Columns> </DataGrid>

3 个答案:

答案 0 :(得分:4)

如果您需要将placeholder='mm/dd/yyyy hh:mm'属性添加到搜索工具栏的<input>元素,那么您可以使用

searchoptions: {
    attr: { placeholder: "mm/dd/yyyy hh:mm" }
}

参见演示https://jsfiddle.net/OlegKi/0v6vkx75/3/

答案 1 :(得分:2)

如果您知道如何在jqgrid“loadcomplete”中获取列名,

将此代码添加到其中:

$( “gs_YourColumnNamePropertyValue”)ATTR( “占位符”, “YourText”);

添加所需的列数。

答案 2 :(得分:0)

在我的情况下,我从xyz.jsp发送datetime作为我的dataType。在jquery.jqGrid.min.js中检查相同内容并将占位符添加到其中。

if(k.dataType == 'datetime')
a("td:eq(1)", s).append("<input type='text' placeholder='mm/dd/yyyy hh:mm' style='width:100%;padding:0px;' name='" + (k.index || k.name) + "' id='gs_" + k.name + "' value='" + v + "'/>");
else
a("td:eq(1)", s).append("<input type='text' style='width:100%;padding:0px;' name='" + (k.index || k.name) + "' id='gs_" + k.name + "' value='" + v + "'/>");