2014-05-09 53 views
-1

如何製作不允許用戶選擇各種單選按鈕的腳本?這是我的代碼:如何選擇只有一個單選按鈕,如果它們有不同的名稱

<div class="controls" > 
    <label class="radio"> <input type="radio" <?php echo ($this->state->get('filter.totalinmuebles') == '1') ? 'checked' : ''; ?> name="totalinmuebles" id="totalinmuebles" value="1"> Volumen de inmuebles en venta</label> 
    <label class="radio"> <input type="radio" <?php echo ($this->state->get('filter.totalventas') == '1') ? 'checked' : ''; ?> name="totalventas" id="totalventas" value="1"> Total de ventas</label> 
    <label class="radio"> <input type="radio" <?php echo ($this->state->get('filter.totalventascliente') == '1') ? 'checked' : ''; ?> name="totalventascliente" id="totalventascliente" value="1"> Total de ventas por cliente</label> 
    <label class="radio"> <input type="radio" <?php echo ($this->state->get('filter.totalcomisionescobrar') == '1') ? 'checked' : ''; ?> name="totalcomisionescobrar" id="totalcomisionescobrar" value="1"> Total comisiones a cobrar</label> 
</div> 

我已經試過,我發現在互聯網上我自己的和別人的不同劇本,但它似乎沒有工作。驗證應該不必點擊「提交」按鈕。

+1

它們全都具有相同的「值」 –

+0

您能否詳細說明_「不允許用戶選擇各種單選按鈕」的意思?_ – Archer

+2

單選按鈕具有不同的名稱,因此它們被認爲是不同的無線電按鈕,每個按鈕都可以選擇,如果你願意的話。我不希望發生這種情況。 – PLATANIUM

回答

1

如果添加相同name屬性是不是一種選擇:

$('.controls input').on('change', function() { 
    $(this).parent().siblings().find('input').prop('checked', false); 
}); 

您還可以使用closest方法:

$(this).closest('.controls') 
     .find('input[type=radio]') 
     .not(this) 
     .prop('checked', false); 
+0

我已經試過你的代碼,但似乎並沒有工作:( – PLATANIUM

+0

@MONZTAAA不客氣,它適用於我,可能你錯過了文檔準備處理程序,http://jsfiddle.net/K2jTp/ – undefined

+0

你是對的,忘記添加文檔準備處理程序:)感謝隊友。 – PLATANIUM

0

這將做的工作適合你:

$('#totalinmuebles, #totalventas, #totalventascliente, #totalcomisionescobrar').click(function(){ 

    var ar=['#totalinmuebles', '#totalventas', '#totalventascliente', '#totalcomisionescobrar']; 
    $.each(ar, function(index, value) { 

     $(value).attr('checked',false); 
    }); 

    $(this).attr('checked',true); 

}); 

工作演示:http://jsfiddle.net/kGhKC/

相關問題