Jqgrid - 选择下拉列表时的验证

时间:2017-10-25 18:31:36

标签: javascript jquery jqgrid

我的这一列有下拉列表,目前当我从下拉列表中选择任何值时它会被保存,我想在保存之前从下拉列表中选择一个值时添加验证,例如,

{name:'color_name',
    cellattr: function (rowid, cellValue) {
    if ($.inArray(cellValue, hilightcolorcell) < 0) {
    return " class='redcells'";
    }
    },editable:true,edittype:"select",editoptions:
    {value:"PURPLE:PURPLE;PINK:PINK;GREEN:GREEN"}}

如果所选值是PINK,我想要一个带有“保存并取消”按钮的验证提示,如下所示,选择的值为:PINK,SAVE CANCEL

这是演示链接https://jsfiddle.net/kwu7v3fc/3/

请帮忙。

1 个答案:

答案 0 :(得分:1)

有很多方法可以实现您的要求。在我实际保存之前,我认为最原生的人会直接询问用户确认更改选项和。人们可以添加&#34;改变&#34;事件处理程序,它可以满足你的需要。相应的实现将如下面的示例所示

editoptions: {
    value: "PURPLE:PURPLE;PINK:PINK;GREEN:GREEN",
    dataEvents: [
        {
            type: "change",
            fn: function (e) {
                if ($(this).val() === "PINK") {
                    if (!confirm("Are you sure you want PINK?")) {
                        // reset the value to the previous one
                        var savedRow = $("#rowed5").jqGrid("getGridParam", "savedRow");
                        $(this).val(savedRow[0].v);
                    }
                }
            }
        }
    ]
}

请参阅修改后的演示https://jsfiddle.net/OlegKi/kwu7v3fc/5/