Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jqgrid-选择下拉列表时的验证_Javascript_Jquery_Jqgrid - Fatal编程技术网

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

Javascript Jqgrid-选择下拉列表时的验证,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,我有这个带有下拉列表的列,当前当我从下拉列表中选择任何值并保存时,我想在保存前从下拉列表中选择值时添加验证,例如 {name:'color_name', cellattr: function (rowid, cellValue) { if ($.inArray(cellValue, hilightcolorcell) < 0) { return " class='redcells'"; } },editable:true,edittype:"sele

我有这个带有下拉列表的列,当前当我从下拉列表中选择任何值并保存时,我想在保存前从下拉列表中选择值时添加验证,例如

{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"}}
如果选择的值是粉红色的,我希望有一个带有保存和取消按钮的验证提示,类似这样,选择的值是:粉红色,保存取消

这是演示链接


请提供帮助。

有许多方法可以实现您的需求。在我看来,最土生土长的人似乎会在更改select选项时直接请求用户确认,然后才真正保存它。您可以添加更改事件处理程序,它可以完成所有需要的操作。相应的实现如下例所示

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);
                    }
                }
            }
        }
    ]
}

查看修改后的演示

谢谢,先生,有一个疑问,如果我们想显示实际单元格值和选定值,如何实现?例如,实际值为粉色,下拉选择的值为粉色,如何提示您确定要将粉色更改为粉色?@davidb:不客气!savedRow[0]。v是开始编辑之前单元格中的值。值$this.val是当前所选选项的值。您可以替换您确定要粉色吗?是否确实要将+savedRow[0].v+更改为+$this.val+?。您需要将$rowed5.jqGridgetGridParam,savedRow移到上面,以便在使用之前初始化savedRow。看见