簡體   English   中英

如何使用onSave事件從Kendo網格中獲取隱藏值

[英]How do i get hidden value from Kendo grid with onSave event

我有一個編輯按鈕,在Kendo網格中的onSave事件將在我連續更改某些內容時觸發。 現在我想在更新行時訪問dataItem值,但由於某種原因它總是為null,我在做什么錯? 我在下拉菜單中訪問值沒有問題,但是我還需要隱藏值。

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來獲取數據(當您單擊命令按鈕時,您會自動選擇一行)

var grid = $("#Grid" + '@guid').data("kendoGrid"); 
var selectedItem = grid.dataItem(grid.select()); 
var bojaTeksta = selectedItem.BojaTeksta; 
var bojaPozadine = selectedItem.BojaPozadine; 
console.log(bojaTeksta); 
console.log(bojaPozadine);

獲得隱藏的值應該沒有任何問題。

首先確保已設置BojaTeksta。 通過檢查生成的html。

它看起來應該像這樣:

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

檢查是否從dataItem中獲取其他值。 未隱藏的值。

如果沒有嘗試在事件上使用currentTarget而不是target:

var dataItem = this.dataItem($(e.currentTarget).closest("tr"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM