我已经使用了gridview中的复选框列。我想检查该复选框的状态。点击一个按钮,应该检查是否有任何复选框被选中。如果没有复选框被选中,那么它应该首先显示选中复选框的提示信息。如何检查GridView列中复选框的状态点击按钮
回答
嘿,我找到答案。它如下:
function checkBoxselectedornot()
{
var frm=document.forms['aspnetForm'];
var flag=false;
for(var i=0;i<document.forms[0].length;i++)
{
if(document.forms[0].elements[i].id.indexOf('chkDownloadSelectedEvent')!=-1)
{
if(document.forms[0].elements[i].checked)
{
flag=true
}
}
}
if (flag==true)
{
return true
}else
{
alert('Please select at least one Event.')
return false
}
}
if(document.getElementById('checkBoxId').checked) {
//checked
} else {
//not checked
}
编辑:如果您想查询一个表格的所有复选框就可以通过收集循环:
var inputs = document.getElementById('formId').getElementsByTagName('input');
var isChecked = false
for(var i = 0; i < inputs.length; i++) {
if(inputs[i].type == 'checkbox' && inputs[i].checked) {
isChecked = true;
}
}
if(isChecked) {
//at least one checkbox checked
}
服务器端:
//在按钮单击事件:
bool flag = false;
对(INT I = 0;我< gridview1.rows.count;我++)
{
如果(checkbox1.checked)flag = true;
}
如果(标志)
{
//我答ATLEAST一个复选框被选中
}
感谢您的回答。但我必须用java脚本来完成。 – 2008-12-08 10:53:28
您将不得不添加一些自定义JavaScript到您的页面,以便客户端警报显示。下面是一个叫做“GridView1” GridView的工作,我已经写了一个方法(这应该是默认的名称,如果你刚拖控件到您的ASPX页面):
<script type="text/javascript">
function ClientCheck() {
var valid = false;
var gv = document.getElementById("GridView1");
for (var i = 0; i < gv.all.length; i++) {
var node = gv.all[i];
if (node != null && node.type == "checkbox" && node.checked) {
valid = true;
break;
}
}
if (!valid) {
alert("Invalid. Please select a checkbox to continue.");
}
return valid;
}
</script>
你可以看到它将一个变量设置为GridView
控件,然后循环遍历for
循环中的所有子项。如果孩子是checkbox
并且它是checked
,那么我们将valid
变量设置为true。如果我们到迭代结束时没有发现复选框,那么valid
仍然是假,我们执行警报。
要将此链接链接到您的ASPX页面上的GridView
,请首先将按钮列设置为TemplateField
并用您的客户端代码围绕LinkButton
。如果您已经使用设计器设置了列,则可以使用列编辑器中的“将此字段转换为TemplateField”链接)。这里是你会落得源的例子:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1">
<Columns>
<asp:TemplateField HeaderText="Button Field" ShowHeader="False">
<ItemTemplate>
<span onclick="return ClientCheck();">
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="IDClick" Text='<%# Eval("YourDataSourceItem") %>'></asp:LinkButton>
</span>
</ItemTemplate>
</asp:TemplateField>
// ...your remaining columns...
使用TemplateField
让我们添加任何我们喜欢的客户端代码。这里我们添加一个span
并使用onclick
来调用我们的ClientCheck
方法。
如果您不关心警报,您可以通过使用在服务器端执行的CustomValidator
控件来实现您的目标。
我希望这会有所帮助。
<script type="text/javascript" language="javascript">
function CheckboxSelect() {
var LIntCtr;
var LIntSelectedCheckBoxes = 0;
for (LIntCtr = 0; LIntCtr < document.forms[0].elements.length; LIntCtr++) {
if ((document.forms[0].elements[LIntCtr].type == 'checkbox') && (document.forms[0].elements[LIntCtr].name.indexOf('chkID') > -1)) {
if (document.forms[0].elements[LIntCtr].checked == true) {
LIntSelectedCheckBoxes = parseInt(LIntSelectedCheckBoxes) + 1;
}
}
}
if (parseInt(LIntSelectedCheckBoxes) == 0) {
alert('User(s) Must Be Selected For operation !');
return false;
}
}
</script>
protected void OnCheckedChanged(object sender, EventArgs e)
{
bool flag = false;
foreach (GridViewRow row in Grid_InvoiceGarden.Rows)
{
CheckBox chkItem = (CheckBox)row.FindControl("chkSelect");
if (chkItem.Checked)
flag = true;
}
if (flag == true)
{
btnUpdate.Visible = true;
}
else
{
btnUpdate.Visible = false;
}
}
- 1. 获取gridview项中的复选框状态为gridview上的所有复选框点击按钮点击
- 2. 如何检查asp.net中gridview中复选框列的状态
- 3. 复选框检查按钮点击
- 4. 如何检查GridView中复选框的状态?
- 5. 检查按钮点击网络状态
- 6. 如何点击一个按钮检查所有复选框
- 7. 检查gridview列复选框
- 8. 如何评估按钮上复选框的状态单击JQuery
- 9. 在其他状态下点击按钮后复选框
- 10. 检查复选框点击标签时的状态
- 11. 如果用户点击复选框,我该如何更改按钮的状态
- 12. 检查c中复选框的状态#
- 13. 如何检查/取消选中外部按钮的Gridview复选框
- 14. 如何检测jquery中单选按钮的检查状态?
- 15. gridview上的复选框验证按钮点击
- 16. Jquery按钮点击选择复选框
- 17. gridview中检查asp.net复选框检查
- 18. 检查动态列表中检查按钮的状态
- 19. 如何保持asp.net中复选框的点击状态
- 20. 如何保存多列复选框的状态并单击更新它们全部点击按钮
- 21. Reactjs onClick:如何设置列表中点击按钮的状态
- 22. jquery ui复选框按钮状态
- 23. 如何限制validatin检查在C#gridview的点击按钮?
- 24. 动态创建复选框没有得到按钮点击检查ExtJS
- 25. Codeigniter - Set_value复选框的检查状态
- 26. 复选框的JQuery检查状态
- 27. 监控复选框的检查状态
- 28. 检测在单选按钮/复选框状态
- 29. 如何检查和取消选中复选框,以及如何使复选框,点击了该行的点击
- 30. 检查复选框的值在按钮单击后显示在列表框中
感谢名单,但复选框在GridView的项目模板。所以它不能被访问,因为gridview是以html格式转换成表格格式的。 – 2008-12-08 10:55:10