Javascript 单击复选框时如何禁用文本字段?
我想在单击复选框时禁用div。如果当前地址和永久地址相同,用户只需单击复选框即可禁用永久地址字段。谢谢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 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);
}
});代码>什么复选框?我在你的代码中找不到任何复选框…更新了,先生。对不起…永久地址字段,城市,省和国家这对你有用吗?行得通,伙计。但是我把我的剧本改成这个你知道答案了吗?