2个javascripts之间可能发生的冲突/冲突?

时间:2013-05-27 20:20:27

标签: javascript

以下是示例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并单击左下角字段。左下角字段值与左上角字段的值相同。这也没关系。

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

1 个答案:

答案 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.

        };
    });
});

Fiddle