Worked a treat that, Ie will be the death of me.

On Feb 10, 2:45 pm, Stephan Veigl <stephan.ve...@gmail.com> wrote:
> Hi John,
>
> It looks like IE doesn't send a change event when the checkbox has
> been clicked, only after the element has lost focus. You can test this
> by adding a debug alert to your change function.
>
> change your
>   $("input:checkbox").change(function () {...
> line to
>   $("input:checkbox").bind("change click keypress", function(){...
> to catch the checkbox every time it has been clicked (either with
> mouse or keyboard)
>
> by(e)
> Stephan
>
> 2009/2/10 John C <j.cashm...@wigan.gov.uk>:
>
>
>
>
>
> > Has anyone any idea why the  code below doesn't work correctly in IE.
> > Basically what is supposed to happen is when the parent checkbox is
> > checked the child ones are also supposed to be checked. This works
> > fine in FireFox and Safari, but not in Internet Explorer, the child
> > checkboxes only get checked when something else changes on the form,
> > for instance you check another item.
>
> > Any help would be great.
>
> > ---
> > <div id="navigation">
> > <ul>
> >                <li><a href="test.htm">Item
> >                                </a>
> >                                <ul>
> >                                                <li><a 
> > href="test.htm">Item</a></li>
> >                                                <li><a href="test.htm">Item
> >                                                                </a>
> >                                                                <ul>
> >                                                                             
> >    <li><a href="test.htm">Item</a></li>
> >                                                                             
> >    <li><a href="test.htm">Item</a></li>
> >                                                                </ul>
> >                                                </li>
> >                                </ul>
> >                </li>
> >                <li><a href="test.htm">Item
> >                                </a>
> >                                <ul>
> >                                                <li><a href="test.htm">Item
> >                                                                </a>
> >                                                                <ul>
> >                                                                             
> >    <li><a href="test.htm">Item</a></li>
> >                                                                             
> >    <li><a href="test.htm">Item
> >                                                                             
> >                    </a>
> >                                                                             
> >                    <ul>
> >                                                                             
> >                                    <li><a href="test.htm">Item</a></li>
> >                                                                             
> >                                    <li><a href="test.htm">Item</a></li>
> >                                                                             
> >                                    <li><a href="test.htm">Item</a></li>
> >                                                                             
> >                                    <li><a href="test.htm">Item</a></li>
> >                                                                             
> >                                    <li><a href="test.htm">Item</a></li>
> >                                                                             
> >                    </ul>
> >                                                                             
> >    </li>
> >                                                                </ul>
> >                                                </li>
> >                                                <li><a 
> > href="test.htm">Item</a></li>
> >                                </ul>
> >                </li>
> > </ul>
> > </div>
> > <script type="text/javascript" src="http://ajax.googleapis.com/ajax/
> > libs/jquery/1.3.1/jquery.min.js"></script>
> > <script type="text/javascript">
>
> > $(document).ready(function() {
> >        $("#navigation>ul>li>a").each(function () {
> >        $(this).before($(this).text());
> >        $(this).remove();
> >        });
>
> >        var checknum = 0;
> >         $("#navigation a").each( function () {
> >        checknum = checknum +1;
> >        newInput = document.createElement("input");
> >        newInput.setAttribute("name","dchannel"+checknum);
> >        newInput.setAttribute("id","dchannel"+checknum);
> >        newInput.type = "checkbox";
> >        newInput.value = $(this).attr('href').replace(/'/ig, "\'");
>
> >        $(newInput).insertBefore(this);
> >        $("#dchannel"+checknum).val($("#dchannel"+checknum).val().replace
> > ("http://boston";, ""));
> >        newLabel = document.createElement("label");
> >        newLabel.setAttribute("for","dchannel"+checknum);
> >        newLabel.innerHTML = $(this).text();
> >        $(newLabel).insertBefore(this);
> >         $(this).remove();
> >  });
>
> > $("input:checkbox").change(function () {
>
> > if($(this).attr("checked")) {
>
> > $(this).parents("li:first").find("input:checkbox").each(function () {
>
> > $(this).attr("checked", true);
> > });
>
> > } else {
>
> > $(this).parents("li:first").find("input:checkbox").each(function () {
>
> > $(this).attr("checked", false);
> > });
>
> > }
> > });
> >  });
> > </script>
> > --- Hide quoted text -
>
> - Show quoted text -

Reply via email to