jquery
  • function
  • radio-button
  • checked
  • 2012-08-08 101 views 1 likes 
    1

    我使用图像作为单选按钮,并希望将CSS样式添加到通过jQuery检查的单选按钮(图像)。将CSS添加到选中的单选按钮并在jQuery中添加标签

    这是一个有单选按钮和标签的HTML代码:

    <input class="radio" type="radio" name="asw_options[box_background_color]" id="box_background_color0" value="aqua_solid" checked='checked'> 
    <label for="box_background_color0"><img src="images/backgrounds/aqua.png"></label> 
    <input class="radio" type="radio" name="asw_options[box_background_color]" id="box_background_color1" value="blue_solid" > 
    <label for="box_background_color1"><img src="images/backgrounds/blue.png"></label> 
    <input class="radio" type="radio" name="asw_options[box_background_color]" id="box_background_color2" value="black_solid" > 
    <label for="box_background_color2"><img src="images/backgrounds/black.png"></label> 
    

    这是jQuery的代码中,我使用,使单选按钮的工作为图像:

    $('#solidcolor input:radio').addClass('input_hidden'); 
    $('#solidcolor label').click(function() { 
        $(this).addClass('selected').siblings().removeClass('selected'); 
    }); 
    

    这个伟大的工程。您选择一个图像,并检查隐藏的单选按钮并突出显示图像,以便您知道您已做出选择。 然后我保存设置,这工作正常。

    我想要知道的是,当页面重新加载时,我想添加一个坚实的3px黑色边框到选中的单选按钮(图像标签),以便您知道您以前做出了哪个选择。

    当前发生的是当您重新加载页面时,所有图像(标签)都以黑色边框结束。

    这是我试图用来突出显示以前保存的单选按钮的jQuery。

    $("#solidcolor input[type='radio']:checked").each( 
    function() { 
        $('#solidcolor label').css("border", "solid 3px black"); 
    } 
    ); 
    

    这可以通过jQuery完成,或者我会更好地试图突出显示之前通过CSS选定的单选按钮吗?

    我也尝试过不同的jQuery函数,如果我使用这段代码,它会提醒我以前正确的选中的单选按钮,但是使用此代码我不知道如何使用它来使CSS边框添加到某些标签或选中的单选按钮。

    var isChecked = $("#solidcolor input[name=asw_options[box_background_color]]:checked").val(); 
    alert(isChecked); 
    

    请大家帮忙,我一直在我的头上撞了三天。

    谢谢

    编辑:

    我刚刚建立了一个的jsfiddle来说明我的意思

    jSFiddle Example

    +0

    发表的jsfiddle关联的标签添加的属性选择器label选择,它会更容易看到正在发生的事情。 – gcochard 2012-08-08 23:39:30

    +0

    好的,现在就设置好 – Jason 2012-08-08 23:41:15

    +0

    刚刚用jsFiddle示例代码更新了问题。 – Jason 2012-08-09 00:00:04

    回答

    4

    有一两件事你可以尝试正在更新.each回调。我为了得到与选中的复选框

    $("#solidcolor input[type='radio']:checked").each( 
        function() { 
         $("#solidcolor label[for='" + this.id + "']").css("border", "solid 3px black"); 
        } 
    ); 
    
    +0

    谢谢万提姆。你是天赐之物。这很有效。 – Jason 2012-08-09 00:01:32

    +0

    很高兴能帮到你! – 2012-08-09 00:11:41

    相关问题