【问题标题】:I am trying to remove required from input field when checkbox is unchecked in jquery当在 jquery 中未选中复选框时,我试图从输入字段中删除 required
【发布时间】:2020-12-16 04:32:00
【问题描述】:

我正在尝试从输入字段中删除required 属性,当复选框未选中但它不起作用并且当复选框被选中时应该需要字段,请帮助我,谢谢。

html 视图

 <div class="col-md-2">
  <input type="checkbox"  id="scheduledis"  name="checkbox[0]" class="schedule_discount"   value="" > 
  <label for=""> Schedule Discount
  </label> 
</div>
<div class="input-group">
  <input type="text" class="form-control datepicker-autoclose-1 dislay-required"  required   placeholder="Start Date"  value=""  name="start_date"  >
  <div class="input-group-append">
    <span class="input-group-text">
      <i class="md md-event-note">
      </i>
    </span>
  </div>
  <span class="text-danger">{{$errors->first('date') ?? null}}
  </span>
</div>

jquery 脚本

   $('input[type="checkbox"]').change(function() {
//check if check if checked 
 $(this).is(':checked') ? 
 
  $('input[name=start_date]').prop('required', false) :
  $('input[name=start_date]').prop('required', true);

  $('input[name=end_date]').prop('required', false) :
  $('input[name=end_date]').prop('required', true);

  $('input[name=start_time]').prop('required', false) :
  $('input[name=start_time]').prop('required', true);

  $('input[name=end_time]').prop('required', false) :
  $('input[name=end_time]').prop('required', true);

});

【问题讨论】:

  • 你能在 SO 上把它变成一个可运行的 sn-p 吗?使用示例数据。

标签: jquery


【解决方案1】:

您可以简单地检查复选框是否为checked,然后使用prop('required', false)prop('required', true) 从输入框中删除或添加所需的属性。

演示代码

$('input[type="checkbox"]').change(function() {
  //check if check if checked 
  $(this).is(':checked') ?
    $('input.dislay-required').prop('required', false) :
    $('input.dislay-required').prop('required', true);

});
:required {
  color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-md-2">
  <input type="checkbox" id="scheduledis" name="checkbox[0]" class="schedule_discount" value="">
  <label for=""> Schedule Discount
  </label>
</div>
<div class="input-group">
  <input type="text" class="form-control datepicker-autoclose-1 dislay-required" required placeholder="Start Date" value="" name="start_date">
  <input type="text" class="form-control datepicker-autoclose-1 dislay-required" required placeholder="End Date" value="" name="end_date">
  <div class="input-group-append">
    <span class="input-group-text">
      <i class="md md-event-note">
      </i>
    </span>
  </div>

</div>

【讨论】:

  • 它用于单个输入字段但我想申请多个输入字段它不起作用请指导我该怎么做?谢谢。
  • 所有类dislay-required的输入字段?如果是的话更新了我的答案看看:)
猜你喜欢
  • 2015-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-21
  • 2019-11-27
  • 1970-01-01
  • 1970-01-01
  • 2016-08-07
相关资源
最近更新 更多