2011-08-11 6 views
6

이와 비슷한 질문에 대한 답변을 살펴 보았지만 나에게있어서 내가 뭘 잘못하고 있는지 알 수 없습니다.한 텍스트 상자의 값을 다른 텍스트 상자에 할당

두 개의 텍스트 상자와 버튼이 있습니다. 텍스트가 첫 번째 텍스트 상자에 추가 버튼을 누를 때, 나는 두 번째 텍스트 상자에 첫 번째 텍스트 상자의 값/텍스트를 적용 할 다음 DOM이 ready되기 위해 당신은 대기하지 않는

<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

. 당신과 같이 작성해야합니다 : 당신은 document.ready 이벤트와 모든 요소 기다려야합니다

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

을, 당신은 당신의 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를 살펴 보자.

관련 문제