提问者:小点点

如何设置项目复选框,当我点击元素跨度有这个复选框?


我需要设置项目复选框,当我点击元素跨度有这个复选框。

代码:

<script>
$('.CheckMemberClassList').bind('click',function(){
    $('.CheckMemberClassList').removeClass('MemberClassActive').addClass('MemberClassInactive');
    $(this).removeClass('MemberClassInactive').addClass('MemberClassActive');
    });
</script>


<span class="MemberClass1 MemberClassActive CheckMemberClassList">
<input type="radio" name="MemberClassList" id="MemberClassList1" value="1" checked="checked">
Text One
</span>

<span class="MemberClass2 MemberClassInactive CheckMemberClassList">
<input type="radio" name="MemberClassList" id="MemberClassList2" value="2">
Text Two
</span>

<span class="MemberClass3 MemberClassInactive CheckMemberClassList">
<input type="radio" name="MemberClassList" id="MemberClassList3" value="3">
Text Tree
</span>

请告诉我如何在这个代码中制作它?


共3个答案

匿名用户

更改

<label for="checkbox1">Click Me!</label>
<input type="checkbox" id="checkbox1">

http://jsfiddle.net/2GbPS/

实际上,由于您的复选框位于范围内,这将起作用:

<label>
<input type="checkbox">
Click Me!
</label>

(提琴更新)

也可以使用收音机!

<label>
<input type="radio">
Click Me!
</label>

匿名用户

$('.CheckMemberClassList').bind('click',function(){
    $('.CheckMemberClassList').removeClass('MemberClassActive').addClass('MemberClassInactive');
    $(this).removeClass('MemberClassInactive').addClass('MemberClassActive');
    $(this).find('input:radio').prop('checked', true);
});

工作实例:http://jsfiddle.net/hMYtg/

文档: http://api.jquery.com/prop/

匿名用户

首先,你想要复选框还是无线电输入?您的代码是无线电输入。

这里有一个jsfiddle显示你需要什么

您需要以下javascript:

$('span').click(
    function() {
        var cb = $(this).find(":radio")[0];

        if (!$(cb).attr("checked")) {
            $(cb).attr("checked", "checked");
        } else {
            $(cb).removeAttr("checked");
        }
    }
);

$('span input').click(
    function(event){
        event.stopPropagation();
});​