2012-02-22 56 views
0

我尝试应用CSS的元素旁边的单选按钮,但没有任何反应将CSS和元素:当它后检查单选按钮被选中(活)

$('.ordering-options input[type="radio"]').live("change", function(){ 
    $('input[type="radio"]:checked').next().css('color', 'red'); 
    }); 

(我也想默认勾选的单选按钮,以在任何动作之前应用CSS)

任何建议,以完成此?

编辑:CSS应用并在第二秒消失。

HTML:

<fieldset class="ordering-options"> 
    <h2 class="ordering-method">Ordering method:</h2> 

    <ul> 
     <li><input type="radio" name="take-out" value="false" checked="checked" class= 
     "takeout-select" /><span>Take Out</span></li> 
    </ul> 

    <ul> 
     <li><input type="radio" name="delivery" value="true" class= 
     "delivery-select" /><span>Delivery</span></li> 
    </ul> 
    </fieldset> 

(“取出”是默认红色如果用户点击“发货”,跨度后它会变成红色,反之亦然)。

+1

你忘了领先'$' – 2012-02-22 01:33:44

+0

你试图改变事件处理代码,只是显示一个简单的警报?我的猜测是第一行错误拼写的类名,假设缺少的$只是一个错字)。 – 2012-02-22 01:35:08

+0

@charlieg谢谢。 CSS被应用并在一秒钟内消失。 – alexchenco 2012-02-22 01:41:19

回答

1

我不卖对HTML的结构,但如果你想坚持下去,你可以使用以下命令:jsFiddle

function colorRadio(){ 
    $('.ordering-options input[type="radio"]').closest('li').find('span').css('color', 'black'); 
    $('.ordering-options input[type="radio"]:checked').closest('li').find('span').css('color', 'red'); 
} 
colorRadio() 
$('.ordering-options input[type="radio"]').on("change", colorRadio); 

这是第一次所有标签重置为“黑功能',然后将选中的部分更改为'红色'。您在页面加载时运行一次,然后在每次更改单选按钮时运行一次。

PS:如果你想“电台”按钮,他们必须有相同的“名字”,否则将无法连接