代码之家  ›  专栏  ›  技术社区  ›  ilija veselica

如果input2为空,是否从input1复制值?

  •  0
  • ilija veselica  · 技术社区  · 15 年前

    这是我在这里的第一条信息,所以我希望新手也能得到帮助:) 我的问题是: 我们先从代码开始…… 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是否为空。如果是,则从输入数据1复制值。此操作假定在每次用户单击(页面上的任何位置?)时发生。… 当用户在datum1中键入某些内容并单击该值以外的某个位置时,将复制到datum2。问题是当用户编辑datum1或datum2时,此值将再次复制到datum2。显然,这种情况

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

    只能工作一次。 我对javascript和jquery不太熟悉,所以我很感谢您的帮助。 事先谢谢!

    干杯, 伊利

    3 回复  |  直到 15 年前
        1
  •  2
  •   Ben Crouse    15 年前

    听起来您需要绑定到其他事件。模糊发生在输入失去焦点时,这听起来就像你在追求什么。

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

    以下几点:

    1) $(function() { …是一个很好的捷径 $(document).ready

    2)在javascript中,空字符串将 false 所以这是一条很好的捷径。

        2
  •  0
  •   andres descalzo    15 年前

    我看到的是点击事件的顺序和“如果($(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());
            }    
        });
    });
    
        3
  •  0
  •   ilija veselica    15 年前
    $(document).ready(function(){   
      var $datum2 = $('#datum2');
    
      $('#datum2').hover(function() {
        if(!$datum2.val())
          $datum2.val($('#datum1').val());
      });
    });