slandau
slandau

Reputation: 24052

JQuery check box loop not working

function GenerateTermSheet()
        {
            var urlString = "<%= System.Web.VirtualPathUtility.ToAbsolute("~/mvc/Indications.cfc/RenderPartialTermSheetView/")%>"
            $("#termSheetPopup checkbox:checked").each(function(){
                alert("Clicked");
                var json = 
                {
                    id : GetGUIDValue(),
                    name : $(this).attr("name")
                }
                $.ajax({
                    type: "POST",
                    url: urlString,
                    data: json,
                    success: function(data) {

                    }
                });

            })
        }

I never see that alert appear. If I put it on every line above where it is, it appears, so I know it's a problem with the loop of checked boxes I'm guessing. Am I doing this right? Here is the div it's looping through:

<div id="termSheetPopup">
                        <div style="text-align:center;">
                            <select id="termSheetType">
                                <option>Internal</option>
                                <option>Borrower Facing</option>
                            </select>
                        </div>
                        <input type="checkbox" name="SummaryInformation">Summary Information<br />
                        <input type="checkbox" name="ProductLegs">Product Legs<br />
                        <input type="checkbox" name="AmortizationOptions">Amortization Options<br />
                        <input type="checkbox" name="Values">Values<br />
                        <input type="checkbox" name="Rates">Rates<br />
                        <input type="checkbox" name="RatesSpecific">Rates (All-In-Rate, PV01)<br />
                        <input type="checkbox" name="AmortizationSchedule">Amortization Schedule<br />
                        <input type="checkbox" name="SponsorInfo">Sponsor/Affiliate Info<br />
                        <input type="checkbox" name="BorrowerInfo">Borrower Info<br />
                        <input type="checkbox" name="SponsorContacts">Sponsor/Affiliate Contacts<br />
                        <input type="checkbox" name="CashFlows">Cash Flows<br />
                        <input type="checkbox" name="PrePayment">Pre-Payment<br />
                        <input type="checkbox" name="FutureExposure">Potential Future Exposure<br />
                        <input type="checkbox" name="FutureExposureSpecific">Potential Future Exposure (Max Number and Date Only)<br />
                        <input type="checkbox" name="History">History<br />
                    </div>

Thanks.

EDIT:

Calling GenerateTermSheet() here:

$('#termSheetPopup').dialog({
            modal: true,
            resizable: false,
            title: 'Generate Term Sheet',
            width: 375,
            height: 425,
            autoOpen: false,
            buttons: {
                "Generate": function () {
                    GenerateTermSheet();
                },
                "Cancel": function () {
                    $(this).dialog("close");
                }
            }
        });

Upvotes: 0

Views: 418

Answers (5)

Mitul
Mitul

Reputation: 3427

$(document).ready(function() {
    $('#selecctall').click(function(event) {  //on click 
        if(this.checked) { // check select status
            $('.checkbox1').each(function() { //loop through each checkbox
                this.checked = true;  //select all checkboxes with class "checkbox1"               
        });
    } else {
        $('.checkbox1').each(function() { //loop through each checkbox
            this.checked = false; //deselect all checkboxes with class "checkbox1"                       
        });         
    }
});

});

Upvotes: 0

Thomas
Thomas

Reputation: 2162

Try :checkbox:checked (note the additional colon).

Upvotes: 0

Chris Hogan
Chris Hogan

Reputation: 868

Try changing the selector to:

$( '#termSheetPopup input[type=checkbox][checked]' )

Upvotes: 0

BaggersIO
BaggersIO

Reputation: 838

you could try the following selctor:

#termSheetPopup input[type="checkbox"]:checked

Maybe this link will support you: http://www.electrictoolbox.com/check-uncheck-checkbox-jquery/

Upvotes: 1

Dutchie432
Dutchie432

Reputation: 29160

As I mentioned in my comment, you are never telling JS when to execute the function. See my live demo. Seems to work OK if I strip out the ASP stuff.

http://jsfiddle.net/db4Uf/1/

This is the key line

//When an input in termSheetPopup is clicked, call GenerateTermSheet()
$('#termSheetPopup input').click(function(){
    GenerateTermSheet();
});

Upvotes: 0

Related Questions