从选择框中显示表格

时间:2018-08-30 13:06:16

标签: javascript php laravel

我有一个包含2个动态选择框的视图

我们选择一个“等级”,显示“ tache”列表,我们选择一个“ tache”,我想在选择框中显示一个表格,其中包含“ tarificationtaches”列表,这些列表是被选中的“ tache” / p>

iterventioncontroller

 public function index()
 {
 $Listintervention=Intervention::with(['technicien','client' 
 ,'tarificationtache'])->get();

return view('intervention.index',['interventions'=>$Listintervention]);


 }


 /**
 * Show the form for creating a new resource.
 *
 * @return \Illuminate\Http\Response
 */
 public function create()

{

$client = client::orderBy('id', 'asc')->get();
$metiers = metier::orderBy('id', 'asc')->get();
$technicien = Technicien::orderBy('id', 'desc')->get();
$tarifications = tarificationtache::with('techniciens.user')->get(); 

return view('intervention.create')->with('technicien', $technicien)- 
>with('client',$client)- 
>with('metiers',$metiers)->with('tarifications',$tarifications);
}

 /**
 * Store a newly created resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store(InterventionRequest $request)
{
$intervention = new Intervention();

$intervention ->description =$request->input('description');
$intervention ->duree_prevu =$request->input('duree_prevu');


if($request->has('statut')){
$intervention->statut = $request->input('statut');
}else{
       $intervention->statut = 0;
}

$intervention ->technicien_id = $request->input('technicien_id');
$intervention ->client_id = $request->input('client_id');
$intervention ->tarification_id = $request->tarificationtache_id;
$intervention->save();
return redirect('intervention');
}

public function getTar(){
     $tarifications = tarificationtache::with('technicien')->get();

        return $tarifications->map(function ($tarification) {
            return [
                'nom' => $tarification->technicien->user->nom,
                'tache' => $tarification->tache_id,
                'tarif' => $tarification->tarif,
                'avg_avis_interventions' => $tarification->technicien- 
                >avisinterventions->avg('note')
            ];
        }); 

        print_r($results -> toJson());   
        exit;
}

create.blade.php

 @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>
 <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="https://cdnjs.cloudflare.com/ajax/libs/bootstrap- 
datepicker/1.5.0/js/bootstrap- 
datepicker.js"></script>


<script type="text/javascript">
var getTachesByMetierUrl = "{{url('/tachesbymetier')}}";
var getAdresseByClientUrl = "{{url('/adressebyclient')}}";
var getTarificationsByTacheUrl = "{{url('/tarificationsbytache')}}";
var getTechniciensByTarificationtacheUrl = " 
{{url('/techniciensbytarificationtache')}}";
//console.log(getMetiersByTechnicienUrl,getTachesByMetierUrl 
,getTarificationsByTacheUrl);


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 getTechniciensByTache(val) {
    if(val.length>0) {
        var tache_id = val;

 $.get(getTechniciensByTacheUrl+'/'+tarificationtache_id,function(res) {
            var html = '<option value="">-Select-</option>' ;
            $.each(res.techniciens,function(index,item) {
                html+='<option value="'+item.id+'">'+item.nom+'</option>';
            });
            $('#techniciens').html(html);

        });
    }
}


function rowSelect(currentRow){
    //this is the code to set a dropdown menu using jquery
    var technicien_id = selectedRow.children[0].innerHTML;
    $("#your_technicien_dropdown_menu_id").val(technicien_id);
}

</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 et heure </label>
            <input class="form-control" type="datetime-local"  name 
  ="duree_prevu" value=" 
  {{old('duree_prevu')}}">
        </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">
            <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>
        <div class="form-group">
            <div class="form-group">
            <label for="">statut    :   </label>
            <input type="checkbox"  name ="statut" value="1" required 
            autofocus>
        </div>
        <div class="form-group">
            <label for="">payement</label>
            <input type="checkbox"  name ="payement" value="">
        </div>
        <div class="form-group">

            <input type="submit" value = "enregistrer" class="form-control 
            btn btn-primary">
        </div>
 </div>
 </div>
 </div>
 <script>
 function getMessage(){
     $.ajax({
              type:'GET',
              url:your_url,
              dataType: 'json',
              success:function(tarifications_list){
                $table_body = $("#tbl_body_name");
                $table_body.empty();

                if (tarifications_list.length > 0) {
                    div_no_data.style.display = 'none';
                    $.each(tarifications_list, function (index, value) {
                        $table_body.append('<tr class="deselected" 
 onclick="rowSelect(this)">' +
                            '<td style="text-align: left;">' + 
 value.technicien_id  + '</td>' +
                            '<td style="text-align: left;">' + 
 value.tache_id + '</td>' +
                            '</tr>');
                    });
                }
              }
            });
 }
 </script>
 @endsection

表格税单

public function up()
{
Schema::create('tarificationtaches', function (Blueprint $table) {
    $table->increments('id');
    $table->float('tarif', 8,2);
    $table->integer('tache_id')->unsigned();
    $table->foreign('tache_id')->references('id')->on('taches');
    $table->integer('technicien_id')->unsigned();
    $table->foreign('technicien_id')->references('id')->on('techniciens');
    $table->datetime('deleted_at')->nullable();
    $table->timestamps();
});
}

这是我的实际页面,当我选择“竞价”时,向我显示选择了“竞价”的价格可以帮助我解决被阻止的问题

>

enter image description here

0 个答案:

没有答案