Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.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
Javascript 根据复选框JS验证多个文本字段_Javascript_Php_Jquery_Laravel - Fatal编程技术网

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
)的值来自数据库

textfield
myWeight
的值为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
  • 在切换复选框时为添加事件侦听器
  • 抓住
    输入
    元素,如果未选中复选框,则将其禁用(反之亦然)

我认为您应该创建一个检查/验证功能,在页面加载时运行该功能,然后绑定到每个任务复选框上。因为您的后端似乎到处都有合适的id,所以您可以依赖它们来获取id名称和选择器

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;
})