以下是示例http://jsfiddle.net/rigaconnect/gLCjy/14/
一个javascript确保从输入字段上方复制粘贴值。用户按住ctrl,然后单击下面的字段。
$(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);
});
});
如果输入或更改某些输入字段值,则第二个javascript将输入字段值更改为1
<input type="text" name="is_row_changed[]" id="is_row_changed1" size="1">
<script>
$(".row_changed1").on("change", function () {
document.getElementById('is_row_changed1').value = 1;
});
</script>
html输入字段是这样的
<input type="text" name="date_year[]" id="date_year1" class="row_changed1" value="" size="2">
如果我在没有按住ctrl +点击的情况下输入(或复制粘贴)值,则所有值都可以正常工作。
但是,如果我按住ctrl并单击字段,则会复制值并显示在字段中,但此处的值<input type="text" name="is_row_changed[]" id="is_row_changed1" size="1">
不会更改。
在左上方字段中输入内容。右上角字段值更改为1.即可。
然后按住ctrl并单击左下角字段。左下角字段值与左上角字段的值相同。这也没关系。
但右下角字段值不会改变。这是问题......其实不知道。需要建议去哪个方向....
答案 0 :(得分:2)
这是因为在编程指定的值上不会触发更改事件。将值分配给文本框时,可以手动触发它。
$(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).trigger('change'); //Trigger the change event here.
};
});
});