Javascript 根据复选框JS验证多个文本字段
我有多个复选框,其名称属性为Javascript 根据复选框JS验证多个文本字段,javascript,php,jquery,laravel,Javascript,Php,Jquery,Laravel,我有多个复选框,其名称属性为myTask,多个文本字段的名称为myWeight myTask($field->taskCode)的值来自数据库 textfieldmyWeight的值为none 这是它的代码PHP/Laravel @if(count($task_record)) @foreach($task_record as $field) <div class="current-tl row"> <div class="col-md-3">
myTask
,多个文本字段的名称为myWeight
myTask
($field->taskCode
)的值来自数据库
textfieldmyWeight
的值为none
这是它的代码PHP/Laravel
@if(count($task_record))
@foreach($task_record as $field)
<div class="current-tl row">
<div class="col-md-3">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input myTask" name="myTask" value="{{$field->taskCode}}" id="myTask{{$field->taskCode}}">
<label class="custom-control-label" for="myTask{{$field->taskCode}}">{{$field->task_title}}</label>
</div>
</div>
<div class="col-md-4">
<div class="md-form svs-md-form">
<input type="number" placeholder="Task Weight" id="myWeight{{$field->taskCode}}" data-tcode = "{{$field->taskCode}}" name="myWeight" class="form-control">
</div>
</div>
</div>
@endforeach
@else
<label>No record found..</label>
@endif
可以使用javascript吗?类似的东西应该可以工作(未经测试):
- 使用类
myTask
- 在切换复选框时为添加事件侦听器
- 抓住
元素,如果未选中复选框,则将其禁用(反之亦然)输入
var check=函数($checkbox){
$('#myWeight'+$checkbox.val()).prop('disabled',!$checkbox.is(':checked');
};
$('input[type=checkbox]')。每个(函数(){
勾选($(此));
$(this).on('change',function(){
勾选($(此));
});
});代码>
任务42
任务43
我不明白你想做什么?验证每个已检查任务是否有适当的权重?在这种情况下,每个任务没有权重。我只获取带有空文本字段的taskCodes。因为在这种情况下,管理员将为每个任务注册权重。我试图做的是禁用或启用myWeight
Ok的文本字段,所以为了确保,如果未选中关联的复选框,您想启用/禁用权重输入吗?是的,这就是我试图删除的内容。。非常感谢。
var taskData = [];
$("input:checkbox[name=myTask]:checked").each(function() {
taskData.push($(this).val());
});
var dataWeight = [];
$('input[name="myWeight"]').each(function() {
if($(this).val() != ''){
dataWeight.push($(this).val());
}
});
$('.myTask').change(function() {
var weightId = this.attr('id').replace('myTask', 'myWeight');
$(`#${weightId}`).disabled = !this.checked;
})