2011-08-11 46 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

相關問題