Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在提交表单之前,如何选择所需选项用户选中单选按钮Yes,如果在jQuery或Javascript中选中No,则删除required_Javascript_Jquery_Html - Fatal编程技术网

在提交表单之前,如何选择所需选项用户选中单选按钮Yes,如果在jQuery或Javascript中选中No,则删除required

在提交表单之前,如何选择所需选项用户选中单选按钮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"> &

在提交之前,我正在尝试验证这一点,请帮助我

我的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">
        <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,更新的答案你可以检查元素