2016-12-15 8 views
0

現在、更新ボタンを押すと自動的に更新される2つの入力フィールドがあり、入力を追加したいのですが、問題は手動で入力フィールド名をjqueryスクリプトに追加する必要があることです。 これにループを追加できますか?助けてください!!jQuery Loop for checkboxes

Type Comment: <input name="mainComment" type="text" value="" /> 
<input type="button" name="updateComment" value="Update" /> 

<hr /> 

<input type="checkbox" class="myCb" name="cb[1]" /><input type="text" name="inv[1]" value="" /><br /> 
<input type="checkbox" class="myCb" name="cb[2]" /><input type="text" name="inv[2]" value="" /> 


<script type="text/javascript"> 
    $(document).ready(function() { 
     $("input[name='updateComment']").live("click", (function(){ 
      if($("input[name='cb[1]']").is(":checked")) { 
       $("input[name='inv[1]']").val($("input[name='mainComment']").val()); 
      } else { 
       $("input[name='inv[1]']").val(""); 
      } 

      if($("input[name='cb[2]']").is(":checked")) { 
       $("input[name='inv[2]']").val($("input[name='mainComment']").val()); 
      } else { 
       $("input[name='inv[2]']").val(""); 
      } 
     })); 
    }); 
</script> 
+0

['.live()'](http://api.jquery.com/live/)は、新しいjQueryバージョンでは廃止され削除されました。あなたのスクリプトを['.on()'](http://api.jquery.com/on/)にアップデートすることをお勧めします。 – empiric

+0

Thankyou @empiric –

答えて

1

あなたはDOMからの入力を選択し、それぞれの入力をループにjQueryの.each()メソッドを使用するために入力のclass name.myCb)を使用することができます。

あなたはこのようにそれを行うことができます。

$(document).ready(function() { 
 
     $("input[name='updateComment']").on("click", (function(){ 
 
     \t \t var val = $("input[name='mainComment']").val(); 
 
      $('input.myCb').each(function(i) { 
 
      \t if($(this).is(':checked')) { 
 
       $(this).next().val(val); 
 
       } else { 
 
       $(this).next().val(''); 
 
       } 
 
      }) 
 
     \t \t 
 
     
 
     })); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Type Comment: <input name="mainComment" type="text" value="" /> 
 
<input type="button" name="updateComment" value="Update" /> 
 

 
<hr /> 
 

 
<input type="checkbox" class="myCb" name="cb[1]" /><input type="text" name="inv[1]" value="" /><br /> 
 
<input type="checkbox" class="myCb" name="cb[2]" /><input type="text" name="inv[2]" value="" /><br> 
 
<input type="checkbox" class="myCb" name="cb[3]" /><input type="text" name="inv[2]" value="" />

は、この情報がお役に立てば幸い!

+0

うまくいきました。どうもありがとうございます :) –