0

这是示例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+click 的情况下输入(或复制粘贴)值,那么一切都将根据需要进行。

但是,如果我按住 ctrl 并单击字段,则会复制值并显示在字段中,但此处的值<input type="text" name="is_row_changed[]" id="is_row_changed1" size="1">不会改变。

在左上角字段中输入内容。右上角的字段值更改为 1。没关系。

然后按住 ctrl 并单击左下角的字段。左下字段值与左上字段值相同。这也可以。

但右下角字段值不会改变。这就是问题...实际上不知道。需要建议去哪个方向....

4

1 回答 1

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.

        };
    });
});

小提琴

于 2013-05-27T20:40:58.063 回答