How to get value of selected checkboxlist items using javascript in asp.net

I am working on an asp.net project in which i have a checkboxlist which i have bound using

DataTable dt = new Process_Hotels().SelectAllFacilty();           
if (dt.Rows.Count > 0)                                            
{                                                                 
    cblHotelFacility.DataSource = dt;                             
    cblHotelFacility.DataTextField = "Facility";                  
    cblHotelFacility.DataValueField = "ID";                       
    cblHotelFacility.DataBind();                                  

    foreach (ListItem li in cblHotelFacility.Items)               
    {                                                             
        li.Attributes.Add("JSvalue", li.Value);                   
    }                                                             
}

and now i want to get selected value ID of checkboxlist using javascript on button click.For that i have following javascript code on button click:

<script type="text/javascript">                                                                                   

    function test() {                                                                                             
        var checkList1 = document.getElementById('<%= cblHotelFacility.ClientID %>');                             
        var checkBoxList1 = checkList1.getElementsByTagName("input");                                             
        var checkBoxSelectedItems1 = new Array();                                                                 

        for (var i = 0; i < checkBoxList1.length; i++) {                                                          
            if (checkBoxList1[i].checked) {                                                                       
                checkBoxSelectedItems1.push(checkBoxList1[i].value);                                              
                //alert('checked:' + checkBoxSelectedItems1.push(checkBoxList1[i].getAttribute("JSvalue")).value);
                alert('checked - : ' + checkBoxList1[i].value)                                                    
            }                                                                                                     
        }                                                                                                         
    }                                                                                                             
</script>

but the on clicking button the selected checkboxlist is showing 0. I want to get ID of selected checkboxlist items.Please help.

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Try this :

<script type = "text/javascript">

function GetCheckBoxListValues(chkBoxID)
{
    var chkBox = document.getElementById('<%= cblHotelFacility.ClientID %>');
    var options = chkBox.getElementsByTagName('input');
    var listOfSpans = chkBox.getElementsByTagName('span');
    for (var i = 0; i < options.length; i++)
    {
        if(options[i].checked)
        {
            alert(listOfSpans[i].attributes["JSvalue"].value);
        }
    }
}


</script>

Method 2

Try debugging

for (var i = 0; i < checkBoxList1.length; i++) {
console.log(checkBoxList1[i])
            if (checkBoxList1[i].checked) {
                checkBoxSelectedItems1.push(checkBoxList1[i].value);
                //alert('checked:' + checkBoxSelectedItems1.push(checkBoxList1[i].getAttribute("JSvalue")).value);
                alert('checked - : ' + checkBoxList1[i].value)
            }
        }

Check to see id console.log() gives you any information about the object by pressing F12 on console window. Install firebug plugin for Firefox.

Method 3

May this code help you:

function CheckBoxCheckOrNot(jobskill) {
    var c = document.getElementById(jobskill).getElementsByTagName('input');
    for (var i = 0; i < c.length; i++) {
        if (c[i].type == 'checkbox') {
            if (c[i].checked) {
                alert('checkbox checked');
            }
            else {
                alert('checkbox unchecked');
            }
        }
    }
}

note: jobskill is a container id which contain all check boxes.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x