Click here to Skip to main content
15,891,655 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Once click Check button, all checkbox in gridview will checked/unchecked but my code only check/uncheck the first row only. Below is my code:

//check all/unchecked all button
HTML
<a href='#' >@Html.Raw("<img src='/images/selectall.gif' title='Sel>ect All'/>")</a>
<a href='#' >@Html.Raw("<img src='/images/deselectall.gif' title='Unselect All'/>")</a>



//GridView
@{ var grid = new WebGrid(Model, canPage: true, rowsPerPage: 50, selectionFieldName: "selectedRow", ajaxUpdateContainerId: "gridContent"); grid.Pager(WebGridPagerModes.NextPrevious);
<div id="gridContent" class="articleHeader article_lst">
@grid.GetHtml(tableStyle: "webGrid",
	      headerStyle: "",
	      alternatingRowStyle: "alt",
	      selectedRowStyle: "select",
	      columns: grid.Columns(
	      grid.Column("", style: "col3", format: @<text><input id="chkSelected" class="display-mode" name="select" type="checkbox" value="@item.Value.AdditionalItemID" /></text>),
            grid.Column("Item Name", style: "col2", format: @<text><span id="AdditionalItemName" class="display-mode">@item.AdditionalItemName</span> @Html.TextBox("AdditionalItemName-Edit", (string)item.AdditionalItemName, new { @class = "edit-mode" })</text>),
            grid.Column("Description", style: "col2", format: @<text><span id="AdditionalItemDescription" class="display-mode">@item.AdditionalItemDescription</span>						@Html.TextBox("AdditionalItemDescription-Edit",(string)item.AdditionalItemDescription, new { @class = "edit-mode" })</text>),
            grid.Column("Is Active", style: "col3", format: @<text>@{bool isActive = Convert.ToBoolean(item.IsActive);<span id="IsActive" class="display-mode">@Convert.ToBoolean(item.IsActive)</span>@Html.CheckBox("IsActive-Edit", isActive, new { @class = "edit-mode" })}</text>),
           grid.Column("", style: "col1", format: @<text><div style="padding-left:20px;">
           <a href='#' class="btn_grid edit-item display-mode" id="@item.AdditionalItemID">@Html.Raw("<img src='/images/edit-icon.png' title='Edit'/>")</a>
           <a href='#' class="btn_grid display-mode delete-item" id="@item.AdditionalItemID">@Html.Raw("<img src='/images/delete icon.png' title='Delete'/>")</a>
	  <a href='#' class="btn_grid save-item edit-mode" id="@item.AdditionalItemID">Save</a>
	  <a href='#' class="btn_grid cancel-item edit-mode" id="@item.AdditionalItemID">Cancel</a></div></text>)))
</div>
}




//JQuery
JavaScript
function check() {
	    document.getElementById("chkSelected").checked = true;
	}

	function uncheck() {
		document.getElementById("chkSelected").checked = false;
	}



I don't know where I miss out. Please help me to solve this problem.
Posted
Updated 29-Nov-15 15:31pm
v4

Use Jquery to check all checkboxes
JavaScript
 $("#btnSelectAll").live("click", function () {                          
                            $('#gridID').find("input:checkbox").each(function () {
                                this.checked = true;
                            });
                        });

$("#btnDeselectAll").live("click", function () {                          
                            $('#gridID').find("input:checkbox").each(function () {
                                this.checked = false;
                            });
                        });
 
Share this answer
 
v2
Comments
heart1004 29-Nov-15 22:04pm    
Thanks, it's work to me but I change to :

$("#btnSelectAll").click(function () {
$('#GridID').find("input:checkbox").each(function () {
this.checked = true;
});
});

$("#btnDeselectAll").click(function () {
$('#GridID').find("input:checkbox").each(function () {
this.checked = false;
});
});
Without using the jQuery library, you could do something like this:
JavaScript
//when calling check and uncheck send in the element grid id

function check(GridID) {
    docheck(GridID, true);
}

function uncheck(GridID) {
    docheck(GridID, false);
}

function docheck(GridID, CheckOrNotToCheck) {
//note: to get a list of all input elements - document.getElementsByTagName('INPUT')
    var InputList = document.getElementById(GridID).getElementsByTagName('INPUT');
    for (var i = 0; InputList[i]; i++) {
        if (InputList[i].type === 'checkbox') {
            InputList[i].checked = CheckOrNotToCheck;
        }
    }
}
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900