【问题标题】:How to check the multiple indicdual radio buttons in jQuery?如何检查 jQuery 中的多个单独的单选按钮?
【发布时间】:2014-04-10 05:44:51
【问题描述】:

在我的页面中有很多这样的组单选按钮。

第一个 div "Request-1" 仅默认选中。单击按钮后,我调用下面的 jQuery 函数将选定的值分配给其他 div 单选按钮。

if ($("#Request-1:input:checked").length > 0) {

            $("#Request-2").attr('checked', 'checked');
            $("#Request-3").attr('checked', 'checked');
            $("#Request-4").attr('checked', 'checked');
        }
        else if ($("#DRequest-1:input:checked").length > 0) {
            $("#DRequest-2").attr('checked', 'checked');
            $("#DRequest-3").attr('checked', 'checked');
            $("#DRequest-4").attr('checked', 'checked');

        }

但只有 #REquest-4 正在检查其他单选按钮未检查。请告诉我如何检查所有单选按钮。

 <div id="choose-1">
<input id="Request-1"  type="radio" name="request-type"  checked="checked"/>Data REquest



     <input id="DRequest-1"  type="radio" name="request-type"/>D Request Data
    </div>
 <div id="choose-2">
    <input id="Request-2"  type="radio" name="request-type" />Data REquest

      <input id="DRequest-2"  type="radio" name="request-type"/>D Request Data
    </div>
 <div id="choose-3">
    <input id="Request-3"  type="radio" name="request-type" />Data REquest

      <input id="DRequest-13"  type="radio" name="request-type"/>D Request Data
    </div>
 <div id="choose-4">
    <input id="Request-4"  type="radio" name="request-type"  checked="checked"/>Data REquest

      <input id="DRequest-4"  type="radio" name="request-type"/>D Request Data
    </div>

【问题讨论】:

    标签: jquery html


    【解决方案1】:

    您正在使用radio buttons,并且它们在同一个group request-type 中,因此在这种情况下只能选择一个

    要工作,您需要使用 checkboxes 代替 radios

    然后尝试使用prop() 并合并所有由, 分隔的选择器

    if ($("#Request-1:checked").length > 0) {
       $("#Request-2, #Request-3, #Request-4").prop('checked', true);
    }
    else if ($("#DRequest-1:checked").length > 0) {
       $("#DRequest-2, #DRequest-3, #DRequest-4").prop('checked', true);
    }
    

    Live Demo

    如果您需要切换复选框以更改其状态,请尝试此操作,

    $('#Request-1').on('change',function(){
        $("#Request-2, #Request-3, #Request-4").prop('checked', this.checked);    
    }).change();
    $('#DRequest-1').on('change',function(){
        $("#DRequest-2, #DRequest-3, #DRequest-4").prop('checked', this.checked);    
    }).change();
    

    复选框 change demo

    再次,您需要使用单选按钮,然后您需要更改单选按钮分组,例如,

    <div id="choose-1">
        <input id="Request-1" type="radio" name="request-type" checked="checked" />Data REquest
        <input id="DRequest-1" type="radio" name="request-type" />D Request Data</div>
    <div id="choose-2">
        <input id="Request-2" type="radio" name="request-type-2" />Data REquest
        <input id="DRequest-2" type="radio" name="request-type-2" />D Request Data</div>
    <div id="choose-3">
        <input id="Request-3" type="radio" name="request-type-3" />Data REquest
        <input id="DRequest-3" type="radio" name="request-type-3" />D Request Data</div>
    <div id="choose-4">
        <input id="Request-4" type="radio" name="request-type-4" />Data REquest
        <input id="DRequest-4" type="radio" name="request-type-4" />D Request Data
    </div>
    

    电台 change demo

    【讨论】:

    • 同样的问题最后一个 div 单选按钮 REquest-4 仅检查剩余单选按钮未检查。在上面设计每个 div 在单独的选项卡中。我的意思是一个选项卡中的一个 div,另一个选项卡中的下一个 div就像那样。第 4 个选项卡 div 单选按钮仅在单击第 4 个选项卡时检查。
    • 在我的设计中,每个 div 在单独的选项卡中。当单击第一个选项卡时,我正在调用上面的 javascript,基于第一个选项卡中的单选选择,将值分配给下一个选项卡。但是第四个选项卡最后一个单选按钮只检查使用上面的代码。
    • 感谢相同的单选组。我将每个 div 单选按钮更改为不同的组,解决了问题。
    猜你喜欢
    • 2011-04-24
    • 2023-02-19
    • 1970-01-01
    • 2016-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 2020-07-06
    相关资源
    最近更新 更多