我需要將aspx頁面中gridview的新選定行索引傳遞給我的javascript。但是代碼只能獲取變量的初始值,並且當腳本再次運行時,它包含未更新的值。在我的代碼從後面的代碼通過變量到javascript不更新
變量後面是「SelectedRowIndex」,它是一個整數
window.addEventListener("keydown", function (event) {
console.log('<%= SelectedRowIndex %>');
var validArrowKey = false;
var index = '<%= SelectedRowIndex %>';
if (event.keyCode == 40) {
validArrowKey = true;
index++;
}
else if (event.keyCode == 38 && index > -1) {
validArrowKey = true;
index--;
}
if (validArrowKey) {
var trPaymentDetails = document.getElementById("trPaymentDetails_" + index.toString())
if (trPaymentDetails) {
__doPostBack('ctl00$MainContent$grdPaymentDetails', 'Select$' + index.toString());
}
else
__doPostBack('ctl00$MainContent$grdPaymentDetails', 'Select$' + index.toString());
}
}, false);
要設置所選擇的行索引的初始值,用戶必須單擊在GridView的行首先,在該觸發器內部將變量設置爲用戶選擇的行。
您剛剛分配了一個匿名函數,每次發生keydown事件時都會執行該函數。所以每次都會執行裏面的變量聲明。這就是爲什麼它始終是初始值。嘗試將索引聲明爲全局變量。 –
用戶首先必須單擊gridview中的一行來設置第一個索引。 –