选中复选框时如何设置其他有效性

时间:2018-12-28 18:19:26

标签: javascript jquery

我有以下代码:

$('.custom-checkbox').click(function(){
  var check = $(this).find('input[type="checkbox"]').attr('checked');
   if(typeof(check) != "undefined"){
      var checked='checked';
      var disabled='disabled';
   }
   else{
      var checked='';
      var disabled='';
   }
   var row = $(this).closest('tr').find('select option:selected').val();
   var val = $(this).find('input[type="text"]').val();
   if(checked!='checked' && row!='Chọn giảng viên' && typeof(row) != "undefined"){
    $(this).find('input[type="text"]').val(row);
   }
   else{
    if(typeof(row) == "undefined" && typeof(val) != "undefined"){
       $(this).find('input[type="text"]').val(val);
    }
    else{
       $(this).find('input[type="text"]').val('')
              $(this).closest('tr').find('select').attr('required','required');
              $(this).closest('tr').find('select').attr('oninvalid',function(){
                this.setCustomValidity('please chose name');
              });
              $(this).closest('tr').find('select').attr('oninput',function(){
                this.setCustomValidity('');
              });
            }
          }
          $(this).find('input[type="checkbox"]').attr('checked',!checked)
          $(this).find('input[type="text"]').prop('disabled',disabled)
        })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tr class="name">
  <form action="/" action="POST">
    <td>
      <select>
        <option disabled selected hidden>Chose name</option>
        <option value="name1">Name1</option>
        <option value="name2">Name2</option>
      </select>
    </td>
    <input type="text" value="" name="name" disabled>
    <td class="custom-checkbox"><input type="checkbox"></td>
  </form>
  </tr>
</table>

我想在选中checbox时未选中选择器,输入type =“ text”将显示选择器的数据,选择器将显示required =“ required”并在此选择器中显示有效性。但是我的代码有问题!请帮忙!

0 个答案:

没有答案