javascript 检索单选按钮值时禁用复选框

k4emjkb1  于 2023-04-04  发布在  Java
关注(0)|答案(1)|浏览(125)

我的网页上有两个单选按钮,下面有一堆复选框。下面是代码:

<input type="radio" id="RadInterest0" value="Interested" required data-val="true" data-val-required="The Interested field is required." name="Reassignment.ReassignmentInterested">Interested                           
 <input type="radio" id="RadInterest1" value="Not Interested" required checked="checked" name="Reassignment.ReassignmentInterested">Not Interested                           

    <div class="form-group row" id="reassignChecks">
                <input onclick="AnyLocation()" name="AreChecked" type="checkbox" value="1" id="chkLoc0" /> 1                
                <input onclick="AnyLocation()" name="AreChecked" type="checkbox" value="2" id="chkLoc1" /> 2                
                <input onclick="AnyLocation()" name="AreChecked" type="checkbox" value="3" id="chkLoc2" /> 3               
               <input onclick="AnyLocation()" name="AreChecked" type="checkbox" value="4" id="chkLoc3" /> 4                
               <input onclick="AnyLocation()" name="AreChecked" type="checkbox" value="5" id="chkLoc4" /> 5               
               <input onclick="AnyLocation()" name="AreChecked" type="checkbox" value="6" id="chkLoc5" /> 6                
              <input onclick="AnyLocation()" name="AreChecked" type="checkbox" value="7" id="chkLoc6" /> 7               
             <input onclick="AnyLocation()" name="AreChecked" type="checkbox" value="8" id="chkLoc7" /> 8               
             <input onclick="AnyLocation()" name="AreChecked" type="checkbox" value="9" id="chkLoc8" /> 9               
            <input onclick="AnyLocation()" name="AreChecked" type="checkbox" value="10" id="chkLoc9" /> 10    
</div>

这些复选框是由for循环生成的。我只是在网页上显示渲染的HTML。
在点击“感兴趣”单选按钮,我想启用所有的复选框,并在点击“不感兴趣”复选框,我想禁用和取消选中所有复选框.这是用下面的代码工作正常:

<script>
        $('#RadInterest1').on('change', function () {
            const isChecked = $(this).is(':checked');

            $('#reassignChecks').addClass('disableSection', isChecked);
           
            $('#reassignChecks input[type="checkbox"]')
                .attr('disabled', isChecked)
                .prop('checked', false)
                ;

        
        });
  
     </script>  

     $('#RadInterest0').on('change', function () {
            const isChecked = $(this).is(':checked');

            $('#reassignChecks').removeClass('disableSection', isChecked);
       
            $('#reassignChecks input[type="checkbox"]')
                .removeAttr('disabled', isChecked)
                .prop('checked', false)
                ;

           
        });

问题是当我从数据库中检索单选按钮的值时,如果在加载页面时已经单击了“不感兴趣”,则单选按钮下面的复选框已经启用。如果单击了“不感兴趣”单选按钮,或者从数据库中检索单选按钮值时已经单击了“不感兴趣”单选按钮,则我不想启用它们。下面是屏幕截图:

如果在从数据库中检索值时已经单击了“Interested”单选按钮,那么我希望保留已经选中的单选按钮,并启用所有复选框。
任何帮助都将不胜感激。

trnvg8h3

trnvg8h31#

在文档就绪时,您可以使用以下代码来选中和禁用复选框:

if($('#RadInterest1').is(':checked')){
  $('#reassignChecks input[type="checkbox"]')
    .attr('disabled', 'disabled')
    .prop('checked', false)
    ;
}

演示:

x一个一个一个一个x一个一个二个x

相关问题