2009-12-14 55 views
2

這是我用它來找到GridView的任何複選框是否被選中查找複選框的狀態在Grdiview分頁

if($("table tr td:first-child input:checkbox:checked").length ==0) 
{ 
    alert("Select atleast one event to delete");return false ; 
} 

if(confirm('Are you sure! you want to delete the selected events(s)?')) 
    return true; 
else 
    return false ; 

我選擇在第一頁複選框的代碼和我瀏覽到第2頁我點擊「刪除」,它會拋出「選擇至少一個頻道刪除」。哪個不應該!

沒有分頁,它工作正常。任何洞察力實現這與分頁?

回答

0

只要您導航到下一頁,首先選中的複選框的DOM元素將不再顯示,因此腳本不會知道它們。

如果您希望通過頁面保留複選框狀態,則需要在頁面更改時緩存狀態。請記住,這些不會在回發中傳遞。

0

這是因爲第一頁中的複選框在顯示第二頁時不會呈現。

在執行重要操作時會更好,如刪除記錄,用戶知道哪些記錄被刪除。

您的方法的問題是,如果用戶在另一個頁面中,用戶將無法找到爲動作選擇的記錄。所以在我看來這不會是一個很好的可用性功能。

+0

即使我在同一條船上旅行,說這種方法不是一個很好的功能,但客戶以他自己的方式!所以尋找這個實現! – 2009-12-14 12:07:17

0

而不是檢查複選框選中的值,嘗試將它們保存在會話或其他東西,並嘗試循環它們並檢查這些值。可能會將它們存儲在一些數組中。上面的用戶是正確的,當你沒有在屏幕上呈現控件時,你會得到對象空錯誤。

0

您可以在從一個頁面移動到另一個頁面的情況下手動維護JavaScript中已選中複選框的狀態。

並在最終刪除方法上,檢查您的可用狀態數據中的任何選中的值。