【问题标题】:Change bg color when radio btn is selected选择单选按钮时更改背景颜色
【发布时间】:2010-06-20 09:09:05
【问题描述】:

当用户选择按钮时,我需要更改包含单选按钮的 div 的背景颜色。我正在使用 jquery - 所以看起来应该有一些简单的方法来完成这个。我的 html 设置是这样的:

<div class="sales_box">
<table>
<tr>
<td class="radio_cell"><input type="radio"></td>
</tr>
</table>
</div>

<div class="sales_box">
<table>
<tr>
<td class="radio_cell"><input type="radio"></td>
</tr>
</table>
</div>

【问题讨论】:

    标签: jquery html css forms


    【解决方案1】:

    只需处理单选按钮的change事件,然后使用jQuery的closest()方法即可:

    $(document).ready(function(){
        $('input:radio').change(function(){
           $(this).closest('div').css('background-color', 'red');
        });
    });
    

    正如 redsquare 所说,您不应该真正设置内联 css。您应该使用toggleclass 函数。我只是以css函数为例。

    【讨论】:

    • 这将改变 td 背景
    • @redsquare - 不需要反对票,先给我改正。
    • 是的,我想更改 div 背景颜色。有没有办法使用这种方法并以 div 为目标?
    • 我也会使用toggleClass而不是设置内联css
    • @redsquare - 对不起,只是假设在您发布的同一分钟发生了反对票,那就是您。无论如何,现在都已更正并正常工作。
    【解决方案2】:

    试试

     $(function() {
            $(".radio_cell input[type=radio]").bind("click", function() {
                $(this).parents('div:first').css("background-color", "Blue");
            });
        });
    

    【讨论】:

    • 这里最接近更好,这样可以获取所有父母然后过滤
    【解决方案3】:

    我会使用 toggleClass 而不是设置内联 css。

    $(document).ready(function(){
        $('input:radio').change(function(){
           $(this).closest('div').toggleClass('highlight');
        });
    });
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-03
    • 2015-01-03
    • 2013-12-04
    • 1970-01-01
    • 2011-06-11
    • 1970-01-01
    • 2012-05-30
    • 2014-02-10
    相关资源
    最近更新 更多