Is there a particular reason you couldn't use classes to do this?
Instead of the markup you provided, something like:

<input type="checkbox" value="EventAcceleratedOptionVesting"
id="chkEventAcceleratedOptionVesting" class="chkEvent" />
<input type="checkbox" value="AccountingChanges"
id="chkEventAccountingChanges" class="chkEvent" />

Then:

// Use the :checkbox instead of the old method you're using
$(':checkbox.chkEvent').each(funciton(){
    var el = $(this);
    el.attr('checked', el.is(':checked') ? '' : 'checked');
})

Would do what you're asking.

If you insist on doing it with the IDs, you can always just substr:

if ($(this).attr('id').substr(0, 8) == 'chkEvent') ...

But this method is far less efficient, and you'll be double-looping
through the tree section (once for jQuery to build an indiscriminate
collection of the nodes, then once again by your code to discriminate
the nodes and apply the check/uncheck effect)


On Jun 30, 12:38 pm, "evanbu...@gmail.com" <evanbu...@gmail.com>
wrote:
> I want to check all of my checkboxes in my form that have an id that
> begins with 'chkEvent'.  Thanks
>
> <script language="Javascript" type="text/javascript">
> $(document).ready(function() {
>    $("#toggleEvents").click(function(event){
>       $('inp...@type=checkbox]').each( function() {
>
>         // Begin this is where I am lost
>         if($(this).id()=='chkEvent*')
>         // End this where I am lost
>         this.checked = !this.checked;
>       });
>    });});
>
> </script>
>
> <a href="#" id="toggleEvents">Toggle Events</a>
>
> <form method="post" action="">
> <input type="checkbox" value="EventAcceleratedOptionVesting"
> id="chkEventAcceleratedOptionVesting" />
> <input type="checkbox" value="AccountingChanges"
> id="chkEventAccountingChanges" />
> <input type="checkbox" value="AnnualMeetingChanged"
> id="chkEventAnnualMeetingChanged" />
> <input type="checkbox" value="AssetSalePurchase"
> id="chkEventAssetSalePurchase" />
> <input type="checkbox" value="AuditorChange"
> id="chkEventAuditorChange" />
> </form>

Reply via email to