This is what the HTML element label is for, no JavaScript required.

<form>
  <label for="male">Male</label>
  <input type="checkbox" name="sex" id="male" />
  <br />
  <label for="female">Female</label>
  <input type="checkbox" name="sex" id="female" />
</form>

So sad, I love JavaScript.

Kirk Cerny

On Thu, Dec 31, 2009 at 3:49 PM, Wade Preston Shearer
<[email protected]> wrote:
> Here is an abbreviated example of some code:
>
> <ul class="formlist">
> <li><input type="checkbox" />Bananas</li>
> </ul>
>
>
> I want the user to be able to click the checkbox text and anywhere in
> the li that contains the checkbox to be able to check/uncheck the
> checkbox.
>
> This…
>
> $('.formlist li').click(function(e) {
>        $(this).find('input').click();
> });
>
>
> …does that nicely, except that the checkbox no longer works. That is
> because of a propagation issue, which can be resolved with this…
>
> $('.formlist li').click(function(e) {
>        $(this).find('input').click();
> });
>
> $('.formlist input').click(function(e) {
>        e.stopProgagation();
> });
>
>
> …but the two click listeners seems wasteful to me, so I did this…
>
> $('.formlist li').click(function(e) {
>        if(!$(e.target).is('input')) {
>                $(this).find('input').click();
>        }
> });
>
>
> Can anyone improve upon this? Any way to do it in a jQueryesque one-
> liner and avoid the if statement?
>
> _______________________________________________
>
> UPHPU mailing list
> [email protected]
> http://uphpu.org/mailman/listinfo/uphpu
> IRC: #uphpu on irc.freenode.net
>

_______________________________________________

UPHPU mailing list
[email protected]
http://uphpu.org/mailman/listinfo/uphpu
IRC: #uphpu on irc.freenode.net

Reply via email to