在提交表单之前,如何选择所需选项用户选中单选按钮Yes,如果在jQuery或Javascript中选中No,则删除required
在提交之前,我正在尝试验证这一点,请帮助我 我的HTML在提交表单之前,如何选择所需选项用户选中单选按钮Yes,如果在jQuery或Javascript中选中No,则删除required,javascript,jquery,html,Javascript,Jquery,Html,在提交之前,我正在尝试验证这一点,请帮助我 我的HTML <div class="form-group"> <label class="control-label col-md-3">VAT Register</label> <div class="col-md-6"> <div class="input-group"> <div class="icheck-inline"> &
<div class="form-group">
<label class="control-label col-md-3">VAT Register</label>
<div class="col-md-6">
<div class="input-group">
<div class="icheck-inline">
<label>
<input type="radio" value="Yes" name="vat_register" id="vatRegYes" class="icheck">
Yes </label>
<label>
<input type="radio" value="No" name="vat_register" id="vatRegNo" checked class="icheck">
No </label>
</div>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3">VAT Number</label>
<div class="col-md-6">
<input type="text" name="vat_number" class="form-control" />
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3">VAT Quarters</label>
<div class="col-md-6">
<select name="vat_quarters" id="vatQuar" class="form-control select2me">
<option value="">-- Choose --</option>
<option value="Jan - April - July - October" >Jan - April - July - October</option>
<option value="Feb - May - August - November" >Feb - May - August - November</option>
<option value="March - June - September - December" >March - June - September - December</option>
</select>
</div>
</div>
增值税登记簿
对
不
增值税编号
增值税宿舍
--选择--
一月至四月至七月至十月
二月-五月-八月-十一月
三月至六月至九月至十二月
我试过这个
<script type="text/javascript">
$(document).ready(function(){
$('#vatRegYes').click(function(){
if($(this).prop("checked") == true){
//alert("Checkbox is checked.");
$('#vatQuar').attr("required", "true");
}
else if($(this).prop("checked") == false){
//alert("Checkbox is unchecked.");
$('#vatQuar').removeAttr('required');
}
});
});
</script>
$(文档).ready(函数(){
$('#vatRegYes')。单击(函数(){
if($(this).prop(“选中”)==true){
//警报(“复选框已选中”);
$('#vatQuar').attr(“必需的”,“真实的”);
}
else if($(this).prop(“选中”)==false){
//警报(“复选框未选中”);
$(“#vatQuar”).removeAttr('required');
}
});
});
这工作正常,但仅适用于“是”,即当我选中“是”时,增值税季度按要求设置,但当我再次选中“非增值税季度”时,仍然需要。我只希望在选中“是”时为必填。
required
是一个布尔html属性。因此,您必须使用prop
if($(this).prop("checked") == true){
//alert("Checkbox is checked.");
$('#vatQuar').prop("required", "true");
}
else if($(this).prop("checked") == false){
//alert("Checkbox is unchecked.");
$('#vatQuar').prop('required', false);
}
您必须在两个收音机输入的父项上收听单击
事件
像这样:
$('.input-group').click(function(){
var value = $('#vatRegYes').prop('checked');
if(value == true){
//alert("Checkbox is checked.");
$('#vatQuar').prop("required", "true");
}
else if(value == false){
//alert("Checkbox is unchecked.");
$('#vatQuar').prop('required', false);
}
});
正如Satpal所建议的那样;您还可以使用
change
事件。这两种方法都会起作用。由于必需的是一个属性,您应该使用而不是,我建议使用更改事件而不是单击以查看收音机组,并且代码可以减少为以下内容
好书
$(文档).ready(函数(){
$('[name=“vat_register”]')。更改(函数(){
$('vatQuar').prop(“必需的”)、$('vatRegYes').prop(“选中的”);
});
});代码>
对
不
--选择--
一月至四月至七月至十月
二月-五月-八月-十一月
三月至六月至九月至十二月
这对我不起作用,你能给我演示一下吗?@MuddasirAbbas,更新的答案你可以检查元素