Javascript 单击复选框时如何禁用文本字段?

Javascript 单击复选框时如何禁用文本字段?,javascript,html,Javascript,Html,我想在单击复选框时禁用div。如果当前地址和永久地址相同,用户只需单击复选框即可禁用永久地址字段。谢谢 <div class="col-sm-5"> <div class="checkbox"> <label> <input type="checkbox">Current and Permanent Address are the same. </

我想在单击复选框时禁用div。如果当前地址和永久地址相同,用户只需单击复选框即可禁用永久地址字段。谢谢

<div class="col-sm-5">
        <div class="checkbox">
            <label>
                <input type="checkbox">Current and Permanent Address are the same.
            </label>
        </div>
    </div>
     <div rv-each-address="applicant:personal_information:addresses">
        <div class="row">
           <div class="col-md-8">
              <div class="form-group">
                 <label class="control-label"><strong  rv-text="address:description">Permanent Address</strong></label>
                 <input class="form-control" rv-value="address:address"
                    name="model.cid" data-validate="required" />
              </div>
           </div>
           <div class="col-md-4">
              <div class="form-group">
                 <label class="control-label" for="city">City</label> <input
                    rv-value="address:city" rv-enabled="address:province" type="text" class="form-control typeahead" name="city"
                    id="city" data-validate="required"
                    placeholder="Current city" />
              </div>
           </div>
        </div>
        <div class="row">
           <div class="col-md-4">
              <div class="form-group">
                 <label class="control-label" for="state">Province</label> <input
                    rv-value="address:province" rv-enabled="address:country" type="text" id="province" placeholder="Select Province"
                    name="province" class="form-control typeahead">
              </div>
           </div>
           <div class="col-md-4">
              <div class="form-group">
                 <label class="control-label" for="country">Country</label> 
                 <select name="gender" class="form-control" id="gender">
                 <option value="" disabled selected>Country</option>
                 <option>Philippines</option>
                 <option>Hong Kong</option>
                 <option>South Korea</option>
                 <option>Singapore</option>
                 <option>China</option>
              </select> 
              </div>
           </div>

           <div class="col-md-4">
              <div class="form-group">
                 <label class="control-label" for="postalCode">Postal
                 Code</label> <input class="form-control" rv-value="address:postalCode" name="postalCode"
                    id="postalCode" data-validate="required"
                    placeholder="Zip Code" />
              </div>
           </div>
        </div>
     </div>

当前地址和永久地址相同。
永久地址
城市
省
国家
国家
菲律宾
香港
南韩
新加坡
中国
邮政的
代码

将以下JS添加到代码中

$(文档).ready(函数(){
$('input[type=“checkbox”]”)。更改(函数(){
$('permanentAdd').attr('disabled','disabled');
});
});

当前地址和永久地址相同。
永久地址
城市
省
国家
国家
菲律宾
香港
南韩
新加坡
中国
邮政的
代码

您可以尝试类似的方法

    <input type="checkbox" id="check_box" onchange="set_status();">
            <div class="col-md-4">
                          <div class="form-group">
                             <label class="control-label" for="postalCode">Postal
                             Code</label> <div id="txt_field" name="txt_field"> </div>   

                <script type="text/javascript">


function set_status() {
        var appendData = '';
        var checkbox = document.getElementById("check_box");
        if (checkbox.checked == true) {
            appendData = '<input class="form-control" rv-value="address:postalCode" name="postalCode" id="postalCode" readonly="readonly" data-validate="required"   placeholder="Zip Code" />';
        }
        else {
            appendData = '<input class="form-control" rv-value="address:postalCode" name="postalCode" id="postalCode" data-validate="required"   placeholder="Zip Code" />';
        }
        window.jQuery('#txt_field').html(appendData);

    }

            </script>
</div>
           </div>
        </div>
     </div>

邮政的
代码
函数集_状态(){
var appendData='';
var checkbox=document.getElementById(“复选框”);
如果(checkbox.checked==true){
附录数据=“”;
}
否则{
附录数据=“”;
}
jQuery('#txt_field').html(appendData);
}

以下是如何轻松完成这件事的示例。确保此窗口中只有一个复选框。否则这不起作用,那么你需要改变一些东西

jQuery

$( "input[type=checkbox]" ).on( "click", function(){
    var n = $("input[type=checkbox]:checked").length;
    if(n){
        $(".permanent-address").attr("disabled", 'disabled');
    }else{
        $(".permanent-address").removeAttr("disabled");
    }
});
HTML

<div class="checkbox">
    <label>
        <input type="checkbox">Current and Permanent Address are the same.
    </label>
</div>

<input class="form-control permanent-address" rv-value="address:address" name="model.cid" data-validate="required" />

当前地址和永久地址相同。
纯javascript anwser

function checkAddress(checkbox) {
  var inputs = document.querySelectorAll('input:not([type=checkbox])');
  var selects = document.querySelectorAll('select');
  for (var i = 0; i < inputs.length; i++) {
    inputs[i].disabled = checkbox.checked;
  }
  for (var i = 0; i < selects.length; i++) {
    selects[i].disabled = checkbox.checked;
  }
}
功能检查地址(复选框){
var inputs=document.querySelectorAll('input:not([type=checkbox]));
var-selects=document.querySelectorAll('select');
对于(变量i=0;i
HTML代码

<input type="checkbox" onclick="checkAddress(this)">


只需创建一个在选中复选框时调用的函数,该函数将禁用
div
和所有子元素:

$('#复选框')。更改(函数(){
var div=$(“#一切”);
如果(div.attr('class')!=“禁用”){
div.addClass(“禁用”);
$(“#一切*”).attr(“禁用”,真);
}
否则{
div.removeClass(“禁用”);
$(“#一切*”).attr('disabled',false);
}

});什么复选框?我在你的代码中找不到任何复选框…更新了,先生。对不起…永久地址字段,城市,省和国家这对你有用吗?行得通,伙计。但是我把我的剧本改成这个你知道答案了吗?