我已經使用了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