这是我在这里的第一条消息,所以我希望新手也能得到帮助:) 我的问题如下: 让我们先从代码开始.... 的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
答案 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());
});
});