这是工作样本。
<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中的值“copy-paste”更改为date_day2。
要为所有其他输入单元格获取此类行为,我必须为每个输入单元格编写javascript。
对于所有输入单元格只使用一个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){我的意思是如果我点击任何输入单元格
使用var name1 = ....设置/定义最接近输入单元格的变量值
使用if(e.ctrlKey)$(“#input”)。val(name1);我的意思是如果按ctrlKey,则当前输入单元格值为name1
代码有什么问题?
答案 0 :(得分:0)
我猜,你使用了错误的选择器:
$('#input')
这个代表属性id
= input
的元素。你需要的是:
$('input')
它代表tagname
= input
的元素。
此外,还应更改具有值赋值的行:
$(this).val(name1);
答案 1 :(得分:0)
这不是#input
,而是input
,在活动中,你应该使用$(this)
:
<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) $(this).val(name1);
});
});
</script>