这是我用来查找 gridview 中是否选中任何复选框的代码
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 ;
我在第一页中选择一个复选框,然后导航到第二页,然后单击“删除”,它会抛出“选择至少一个要删除的频道”。哪个不应该!
无需分页即可正常工作。有什么见解可以通过分页来实现这一点吗?
一旦导航到下一页,首先选择的复选框的 DOM 元素就不再显示,因此脚本将不知道它们。
如果您希望通过页面保留复选框状态,则需要在页面更改时缓存状态。请记住,这些也不会在回发中传递。
这是因为当显示第二页时,第一页中的复选框不会呈现。
在执行删除记录等关键操作时,最好让用户知道所有记录都被删除。
您的方法的问题是,如果用户在另一个页面中,他将无法找到选择执行操作的记录。所以我认为这不是一个很好的可用性功能。
不要检查复选框检查值,而是尝试将它们保存在会话或其他东西中,然后尝试循环它们并检查这些值。可能会将它们存储在某种数组中。上面的用户是对的,当你没有在屏幕上渲染控件时,你会得到对象空错误。
从一个页面移动到另一页面时,您可以在 JavaScript 中手动维护选中复选框的状态。
在最终删除方法中,检查可用状态数据中是否有任何选中的值。