Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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 如何使用onSave事件从剑道网格中获取隐藏值_Javascript_Asp.net Mvc 3_Events_Grid_Kendo Ui - Fatal编程技术网

Javascript 如何使用onSave事件从剑道网格中获取隐藏值

Javascript 如何使用onSave事件从剑道网格中获取隐藏值,javascript,asp.net-mvc-3,events,grid,kendo-ui,Javascript,Asp.net Mvc 3,Events,Grid,Kendo Ui,我有一个编辑按钮,在剑道网格中有一个保存事件,当我改变一行中的某些内容时,该事件将触发。现在我想在更新行时访问dataItem值,但由于某些原因它总是空的,我做错了什么?我在访问下拉菜单中的值时没有问题,但我也需要隐藏的值 JS function onSave(e) { if (e.model.StatusIdD) { e.model.StatusIdD = 0; var currentlySelectedValue =

我有一个编辑按钮,在剑道网格中有一个保存事件,当我改变一行中的某些内容时,该事件将触发。现在我想在更新行时访问dataItem值,但由于某些原因它总是空的,我做错了什么?我在访问下拉菜单中的值时没有问题,但我也需要隐藏的值

JS

function onSave(e) {
        if (e.model.StatusIdD) {     
            e.model.StatusIdD = 0;
            var currentlySelectedValue = $(e.container).find('#StatusIdD').data("kendoDropDownList").value();
            var dataItem = this.dataItem($(e.target).closest("tr"));
            var bojaTeksta = dataItem.BojaTeksta;
            console.log(bojaTeksta);
            e.model.set('StatusIdD', currentlySelectedValue);
            e.model.set('Status', $(e.container).find('#StatusIdD').data("kendoDropDownList").text());
            //e.model.set('BojaPozadine', currentlySelectedValue);
            //e.model.set('BojaTeksta', currentlySelectedValue);
        }     
    }
网格简化

...
columns.Bound(p => p.BojaTeksta).Hidden(true);
columns.Bound(p => p.BojaPozadine).Hidden(true);
...
.Events(e => e.Remove("onRemove").Save("onSave"))
答复


我使用selectedItem而不是dataItem获取数据(当您单击命令按钮时,会自动选择一行)


您应该不会在获取隐藏值时遇到任何问题

首先确保BojaTeksta已设置好。通过检查生成的html

它应该看起来像:

<td role="gridcell" style="display:none">123</td>

您好,当我使用var dataItem=this.dataItem($(e.currentTarget).closest(“tr”))时,仍然得到一个空值;(在我的onSave函数中,我使用了var dataItem=this.dataItem($(e.target).closest(“tr”);)任何输入?我还尝试在编辑事件上进行编辑,但由于某些原因,它无法获取数据项。我成功使用dataItem的唯一一次是使用自定义命令按钮,但我不确定如何使用自定义按钮调用网格编辑您能创建一个示例吗?根据这里的文档:您的代码应该可以工作。我使用selectedItem而不是dataItem获取数据(当您单击命令按钮时,您会自动选择一行)var grid=$(“#grid”+“@guid”).data(“kendoGrid”);var selectedItem=grid.dataItem(grid.select());var bojaTeksta=selectedItem.bojaTeksta;var bojaPozadine=selectedItem.bojaPozadine;控制台日志(bojaTeksta);console.log(bojaPozadine);谢谢你的帮助;)
<td role="gridcell" style="display:none">123</td>
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));