これは動作サンプルです。
<tr>
<td><input type="text" name="date_day1" id="date_day1" value=" size="1"></td>
</tr>
<tr>
<td><input type="text" name="date_day2" id="date_day2" value=" size="1">
<script type="text/javascript">
$(document).ready(function(){
$("#date_day2").on('click', function(e) {
var name1 = $('#date_day1').val();
if(e.ctrlKey) $("#date_day2").val(name1);
});
});
</script>
</td>
</tr>
<tr>
<td><input type="text" name="date_day3" id="date_day3" value=" size="1"></td>
</tr>
つまり、date_day1 に何かを入力してから Ctrl を押したまま date_day2 をクリックし、date_day1 の値を「コピーして貼り付け」て date_day2 にします。
他のすべての入力セルでこのような動作を得るには、入力セルごとに JavaScript を記述する必要があります。
すべての入力セルに対して 1 つの JavaScript のみを使用するために、コードを記述しようとしましたが、機能しません。
<script type="text/javascript">
$(document).ready(function(){
$("#input").on('click', function(e) {
var name1 = $(this).closest('tr').prev().find('td:eq('+$(this).closest('td').index()+')').find('input').val();
if(e.ctrlKey) $("#input").val(name1);
});
});
</script>
$("#input").on('click', function(e) {つまり、入力セルをクリックした場合
With var name1 = .... 上の入力セルから最も近い変数値を設定/定義します
if(e.ctrlKey) $("#input").val(name1); で つまり、ctrlKey を押すと、現在の入力セルの値は name1 になります。
コードの何が問題になっていますか?