2016-04-01 6 views
0

私はそれにメトリクスを持つスコアカードフォームを持っています。メトリクスの質問は、データベースから動的に取り込まれ、引き出されます。私はLaravel、私のコードを使用しています:動的に作成されたフィールドの関数またはイベントを作成するjQuery

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

次に私の見解では

@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 

をメトリクスは答えることによって満たされている場合は、私は私が記録することのためでもあるtl_assessmentドロップダウンを作成しています見ることができるようにはい、いいえ、該当しません。その後、potential_pointsが表示されます。

はいとN/Aを選択した場合、scoreの値はpotential_pointsと同じです。

私はjqueryにとってかなり新しいです。これらのフィールドが静的であれば、これを行うことができます。しかし、私はどこから始めるべきか分かりません。

答えて

0

potentialという潜在的な可能性を持つtdを教えてください。 score[]という名前のinputscoreというクラスを付けます。

それは

<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> 

は、次に、あなただけの次のスクリプトを追加する必要があるはずです...以下のように見える終わる必要があります。

<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

ワウ。完璧に動作します。助けてくれてありがとう! – jackhammer013

関連する問題