2015-05-11 101 views
0

我想如果輸入選擇添加的Jquery/JS輸入和標籤

我曾嘗試和使用輸入未能CSS添加到標籤元素:檢查+標籤由於HTML的構建方式,其我無法改變。

是否有人知道如何使用Javascript/jQuery或CSS來做到這一點?

<div class="radio-button-container"> 
    <div class="radio-button"> 
     <input type="radio" value="QUARTER" name="frequency" id="frequencyQUARTER"> 
    </div> 
    <div class="radio-label"> 
    <label for="frequencyQUARTER">New Label</label> 
    </div> 
</div> 

感謝

+0

'輸入:如果兩個元件是兄弟檢查+ label'組合將工作。在'input'字段中寫入'change listener',並根據選擇狀態添加或刪除CSS –

回答

0
$('#frequencyQUARTER').change(function(){ 
    if($('#frequencyQUARTER').is(':checked')){ 

     $('.radio-label').find('label').css({color:'red'}); 
    } 
    else{ 
     $('.radio-label').find('label').css({color:'yellow'}); 
    } 
}); 

HTML

<div class="radio-button-container"> 
    <div class="radio-button"> 
     <input type="radio" value="QUARTER" name="frequency" id="frequencyQUARTER"> 
    </div> 
    <div class="radio-label"> 
    <label for="frequencyQUARTER">New Label</label> 
    </div> 
</div> 

DEMO

0

您可以在無線電改變事件而得到標籤和應用類艾科rdingly。

首先將類移除到所有無線電兄弟元素。

代碼:

$(".radio-button-container input[type='radio']").on("change", function() { 
    $(".radio-button-container input[type='radio']").each(function (i, e) { 
     $("label[for='" + this.id + "'").removeClass("checked"); 
    }); 
    $("label[for='" + this.id + "'").addClass("checked"); 
}); 

演示:http://jsfiddle.net/5saLna0z/