如果输入2来自input1的空副本值?

时间:2009-09-04 13:36:53

标签: javascript jquery input copy

这是我在这里的第一条消息,所以我希望新手也能得到帮助:) 我的问题如下: 让我们先从代码开始.... 的javascript:

$(document).ready(function(){
    if ($("input#datum2").val() == "")
    {
        $().click(function(){
            $("input#datum2").val($("input#datum1").val());
        });
    }    
});

HTML:

<form >
        <input id="datum1" type="text" />
        <input id="datum2" type="text" />
</form>

我希望这个脚本做的是首先检查输入字段datum2是否为空。如果是,则从输入#datum1复制值。每次用户点击(页面上的任何位置?)时,都会发生此操作... 当用户在datum1中键入内容并单击某处时,该值将复制到datum2。问题是当用户编辑datum1或datum2时,该值再次复制到datum2。显然这种情况

if ($("input#datum2").val() == "")

只能工作一次。 我是javascript和jquery的新手,所以我很感激任何帮助。 提前谢谢!

干杯, ILE

3 个答案:

答案 0 :(得分:2)

听起来你需要绑定到另一个事件。当输入失去焦点时会出现模糊,这听起来就像你所追求的那样。

$(function() {
  var $datum2 = $('#datum2');

  $('#datum1').blur(function() {
    if(!$datum2.val())
      $datum2.val($(this).val());
  });
});

一些事情:

1)$(function() { ...是$(document).ready

的快捷方式

2)在JavaScript中,空字符串会转换为false,因此它是一个很好的快捷方式。

答案 1 :(得分:0)

我看到循环方式是点击事件的顺序和“if($(”#datum2“,...”

HTML:

<form id="myform">
        <input id="datum1" type="text" />
        <input id="datum2" type="text" />
</form>

使用Javascript:

$(document).ready(function(){
    $().click(function(){
       if ($("#datum2", $("#myform")).val() == "") {
            $("#datum2", $("#myform").val($("#datum1", $("#myform")).val());
        }    
    });
});

答案 2 :(得分:0)

$(document).ready(function(){   
  var $datum2 = $('#datum2');

  $('#datum2').hover(function() {
    if(!$datum2.val())
      $datum2.val($('#datum1').val());
  });
});