如果它们具有不同的名称,如何仅选择1个单选按钮

时间:2014-05-09 11:27:08

标签: javascript php jquery

如何创建一个不允许用户选择各种单选按钮的脚本?这是我的代码:

<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>

我尝试过各种各样的脚本以及我在互联网上找到的其他脚本,但它似乎没有用。验证应该在不必单击“提交”按钮的情况下完成。

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分: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/