我有以下代码:
$('.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”并在此选择器中显示有效性。但是我的代码有问题!请帮忙!