Динамическое поле со списком в Laravel

У меня 4 стола: metier, tache, technicien и tarificationtache со многими отношениями и в таблице цен у меня есть следующие поля (id, tache-id, tariff)

В этом коде я отображаю список metier, затем список ссылок tache на выбор metier, а затем список ссылок tarificationtache на tacheselect, и теперь я отображаю таблицу, содержащую ссылку technician на этот tarificationtache.

@extends('Layouts/app')
@extends('Layouts/master')
@section('content')
  <!--  jQuery -->
 <script 
 src = "https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"> 
 </script>
<script type = "text/javascript">
var getTachesByMetierUrl = "{{url('/tachesbymetier')}}";
    var getAdresseByClientUrl = "{{url('/adressebyclient')}}";
    var getTarificationsByTacheUrl = "{{url('/tarificationsbytache')}}";
    var getTechniciensByTarificationUrl = " 
 {{url('/techniciensbytarification')}}";

function getAdresseByClient(val) {
        if (val.length>0) {
            var client_id = val;
            $.get(getAdresseByClientUrl+'/'+client_id,function(res) {
                var html = '<option value = "">-Select-</option>' ;
                $.each(res.adresses,function(index,item) {
                    html+='<option 
 value = "'+item.id+'">'+item.code_postal+'</option>';
                });
                $('#adresses').html(html);

            });
        }
    }


    function getTachesByMetier(val) {
        if (val.length>0) {
            var metier_id = val;
            $.get(getTachesByMetierUrl+'/'+metier_id,function(res) {
                var html = '<option value = "">-Select-</option>' ;
                $.each(res.taches,function(index,item) {
                    html+='<option 
  value = "'+item.id+'">'+item.libelle_tache+'</option>';
                });
                $('#taches').html(html);

            });
        }
    }
    function getTarificationsByTache(val) {

        if (val.length>0) {
            var tache_id = val;
            $.get(getTarificationsByTacheUrl+'/'+tache_id,function(res) {
                var html = '<option value = "">-Select-</option>' ;
                $.each(res.tarifications,function(index,item) {
                    html+='<option 
 value = "'+item.id+'">'+item.tarif+'</option>';
                });
                $('#tarifications').html(html);

            });
        }
    }

    function getTechniciensByTache(val) {
        if (val.length>0) {
            var tarification_id = val;
            $.get(getTechniciensByTacheUrl+'/'+tache_id,function(res) {
                var html = '<option value = "">-Select-</option>' ;
                $.each(res.techniciens,function(index,item) {
                    html+='<option 
 value = "'+item.id+'">'+item.technicien_id+'</option>';
                });
                $('#techniciens').html(html);

            });
        }
    }
</script>

@if (count($errors))
    <div class = "alert alert-danger" role = "alert">
        <ul>
            @foreach($errors ->all() as $message)
                <li>{{$message}}</li>
            @endforeach
        </ul>
    </div>
 @endif
 <div class = "container">
    <div class = "row"></div>
    <div class = "col-md-10">
        <h1>Ajout Intervention</h1>
        <form action = " {{url ('intervention')  }}" method = "post">
            {{csrf_field()}}
            <div class = "form-group">
                <label for = "client">Client</label>
                <select onchange = "getAdresseByClient(this.value)" 
 name = "client_id" id = "client" 
      class = "form-control">
                    <option value = "">-Select-</option>
                    @foreach($client as $t)
                        <option value = "{{$t->id }}">
                            {{$t->user->nom}}
                        </option>
                    @endforeach
                </select>
            </div>


            <div class = "form-group">
                <label for = "">date intervention</label>

                <input class = "form-control" type = "date" id = "example-date- 
 input" name 
      = "date_intervention" value = "{{old('date_intervention')}}">
            </div>

            <div class = "form-group">
                <label for = "">description</label>
                <input type = "text"  name  = "description" class = "form- 
 control"value = " 
      {{old('description')}}">
            </div>


            <div class = "form-group">
                <label for = "">duree_prevu</label>
                <input class = "form-control" type = "datetime-local"  name 
   = "duree_prevu" value = " 
    {{old('duree_prevu')}}">
            </div>
     <div class = "form-group">
                <div class = "col-md-12">
                <div class = "col-md-4">
                <label>Metier: </label>
                <select onchange = "getTachesByMetier(this.value)" 
  style = "width: 200px"   
      class = "productm form-control" id = "metiers">
               <option value = "">-Select-</option>
                    @foreach($metiers as $t)
                        <option value = "{{$t->id }}">
                            {{$t->libelle_metier}}
                        </option>
                    @endforeach
                </select>
            </div>

            <div class = "col-md-4">
                <label>tache: </label>
                <select onchange = "getTarificationsByTache(this.value)" 
 style = "width: 200px" 
    class = "productname form-control" name = "tache" id = "taches">
                <option value = "">-Select-</option>
                </select>
            </div>

            <div class = "col-md-4">
                <label>tarification: </label>
                <select onchange = "getTechniciensByTache(this.value)" 
 style = "width: 200px" 
      class = "productname form-control" name = "tarification_id" 
 id = "tarifications">
                <option value = "">-Select-</option>
                </select>
            </div>

            <div class = "col-md-4">
                <label>Technicien: </label>
                <select style = "width: 200px" class = "productname form- 
 control" 
      name = "technicien_id" id = "techniciens">
                <option value = "">-Select-</option>
                </select>
            </div>
</div>
 </div>
</div>
 </div>
 </div>
<link 
href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" 
    rel = "stylesheet">
<link href = "https://cdnjs.cloudflare.com/ajax/libs/bootstrap- 
datepicker/1.5.0/css/bootstrap- 
    datepicker.css" rel = "stylesheet">
<script src = "http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"> 
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/bootstrap- 
datepicker/1.5.0/js/bootstrap- 
   datepicker.js"></script>
@endsection

route.php

Route::get('/techniciensbytache/{tache_id}',         
    'TechnicienController@getTechniciensByTache');

В чем проблема?

Mehravish Temkar 13.04.2018 14:39

Хочу вывести список техников из подбора тарификации и тахе

chagou2704 13.04.2018 15:20

Другая проблема - когда я выбираю тарификацию, у меня нет технических специалистов.

chagou2704 13.04.2018 15:21

Для этого требуется минимальный воспроизводимый пример.

halfer 17.04.2018 13:16

В дополнение к этому, я заметил, что ряд ваших вопросов широк и требует большого исследования, чтобы ответить. Вероятно, поэтому вам трудно получить ответы: вы просите о реализации функций, а не о том, как сделать что-то конкретное. Здесь вам нужно значительно сузить свои проблемы, чтобы на них можно было ответить (например) в терминах Laravel или JS, а не в том, как создать / реализовать новый компонент пользовательского интерфейса.

halfer 17.04.2018 14:09
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
5
273
0

Другие вопросы по теме