2011-08-11 43 views
6

已经看过类似问题的答案,但对于我的生活,我无法弄清楚我做错了什么。分配一个文本框的值到另一个

我有两个文本框和一个按钮。当文本添加到第一个文本框和按钮按下,我想第一个文本框的值/文本适用于第二个文本框:

<html> 
<head> 
    <script type="text/javascript" src="jquery.js"></script> 
    <script> 
     $("#button").click(function() { 
      var contents = $("#textbox").val(); 
      $("#container").val(contents); 
     }); 
    </script> 
</head> 
<body> 
    <input type="text" id="textbox" /> <input type="submit" id="button" value="Press This" /> 
    <br /> 
    <input type="text" id="container" /> 
</body> 
</html> 

回答

9

你不等待DOM成为ready。你应该写类似:

$(document).ready(function() { 
    $("#button").click(function() { 
     var contents = $("#textbox").val(); 
     $("#container").val(contents); 
    }); 
}); 
2

你应该等待与document.ready事件的所有元素,并可以简化您的jQuery:

$(document).ready(function() { 
    $("#button").click(function() { 
     $("#container").val($("#textbox").val()); 
    }); 
}); 
4

您的代码看起来不错。只需将它添加到这样的$(document).ready(...)事件处理程序:

$(document).ready(function() { 
    $("#button").click(function() { 
     var contents = $("#textbox").val(); 
     $("#container").val(contents); 
    }); 
}); 

你也可以简化你的代码位:

$(document).ready(function() { 
    $("#button").click(function() { 
     $("#container").val($("#textbox").val()); 
    }); 
}); 

看看the .ready() docs

相关问题