2016-04-01 15 views
0

Üzerinde metrikli bir puan kartı formum var. Metrikler sorusu dinamik olarak doldurulur ve bir veritabanından alınır. Eğer ben de ölçümlerini cevaplayarak karşılanıp karşılanmadığını beni kaydetmek için içindir tl_assessment açılır listeler oluşturma görebileceğiniz gibi BenceDinamik olarak oluşturulmuş alanlar için bir işlev veya olay oluşturun jQuery

@foreach($metrics as $key => $value) 
<tr> 
    <td class="col-md-2">{{$value->criteria}}</td> 
    <td class="col-md-4">{!!$value->description!!}</td> 
    <td class="col-md-4">{!!$value->question!!}</td> 
    <td class="col-md-2"> 
     <select class="form-control" name="tl_assessment[]"> 
      <option value="">Choose One</option> 
      <option value="Yes">Yes</option> 
      <option value="No">No</option> 
      <option value="N/A">N/A</option> 
     </select> 
    </td> 
    <td class="col-md-3">{{$value->potential_points}}</td> 
    <td class="col-md-3"><input type="text" class="form-control" name="score[]"></td> 
</tr> 
@endforeach 

yılında Sonra

$agent_options = array('' => 'Choose One') + DB::table('agents')->lists('name','id'); 
$metrics = Metric::where('campaign_id','=',1)->orderBy('id', 'asc')->get(); 
return view('scorecard.create')->with(array('agent_options'=>$agent_options, 'metrics'=>$metrics)); 

: Ben, My kodu laravel kullanıyorum Evet, hayır, hayır. Sonra potential_points'u görebilirsiniz.

Gerekirse Evet ve Geçerli Değil seçilirse, score değeri potential_points'da aynıdır.

Ben jquery için oldukça yeni ve bu alanlar statik ise bunu yapabilirim. Ama nereden başlayacağımı karıştırıyorum.

cevap

0

potential adı verilen bir sınıra sahip olduğunuz td verin. input ürününü score[]score sınıfına verin.

O

<tr> 
    <td class="col-md-2">Test</td> 
    <td class="col-md-4">Test</td> 
    <td class="col-md-4">Test</td> 
    <td class="col-md-2"> 
     <select class="form-control ts_assessment" data-key="test" name="tl_assessment[]"> 
      <option value="">Choose One</option> 
      <option value="Yes">Yes</option> 
      <option value="No">No</option> 
      <option value="N/A">N/A</option> 
     </select> 
    </td> 
    <td class="col-md-3 potential">35</td> 
    <td class="col-md-3"><input type="text" class="form-control score" name="score[]"></td> 
</tr> 

Sonra sadece aşağıdaki komut dosyası eklemek gerektiğinde ... Aşağıdaki benzeyen sonunda gerekir.

<script> 
    $(document).ready(function() { 

     $('.ts_assessment').change(function() { 
      var val = $(this).val(); 
      var parent = $(this).parents('tr'); 

      if (val == 'Yes' || val == 'N/A') { 
       var potential = parent.find('.potential').text(); 
       parent.find('.score').val(potential);    
      } else { 
       parent.find('.score').val(''); 
      } 
     }); 
    }); 
</script> 
+0

Vay. Mükemmel çalışır. Yardım için çok teşekkür ederim! – jackhammer013

İlgili konular