0

ラベルをクリックして、前のチェックボックスをオンにするのが好きです。次のコードを試しましたが、うまくいきません。2時間試しましたが、何が欠けていますか?

JQUERY

jQuery(document).ready(function() {
    $('.namelabel').live('click', function() {
        if ($(this).prev("input:checked").val() != null) {
            $(this).prev("input").removeAttr("checked");
        } else  {
            $(this).prev("input").attr("checked","checked"); 
        }
    });
});

HTML
<input type="checkbox" class="check" name="example" /> <img src="image.png" class="modelinfo" /> <label class="namelabel">John Doe</label>

この質問を解決するのを手伝ってくれるのは誰ですか? どうもありがとう!

<label for="">psタグでこれを簡単に解決できることは知っていますが、それは問題ではありません。

4

1 に答える 1

1

次のように実行できます。

$('.profilename').live('click', function() {
  var cb = $(this).prevAll(":checkbox:first");
  cb.attr("checked", !cb.is(":checked")); 
});

また、あなたのクラスが一致していないことに気付きました.htmlでは一致していますnamelabelが、jQueryではprofilenameそれは別の例ですか、それとも一致する必要がありますか?

于 2010-03-25T00:32:11.523 に答える