Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 278
  • Last Modified:

javascript simple question

why when I put javascript code into <head> section , it is not working, only when I
put it into body section:

<head>


 /* read jquery etc */

</head>
<body>


<select>
 <option> 1 </option>
 <option> 2 </option>
  
</select>
 
 <script>

	
 $("select").change(function() {

 	 

 	var sel	=	$(this).val();

 	if  (sel != 0 )
 	{
 	 		
	}		

	});  			


</script> 

</body>
</html>

Open in new window

0
sniger
Asked:
sniger
1 Solution
 
leakim971PluritechnicianCommented:
When you put it in the body, AFTER the select box, it mean the select is already in the document (because you put it after)
When you put it in the head section, the body is not loaded, no select so you can play with it

You need to be sure document object model is ready to use
http://james.padolsey.com/javascript/some-jquery-shortcuts/
http://www.learningjquery.com/2006/09/introducing-document-ready
http://web.enavu.com/daily-tip/daily-tip-difference-between-document-ready-and-window-load-in-jquery/

<head>


 /* read jquery etc */
 <script>
$(document).ready(function() { // wait the DOM is ready to use
	
 $("select").change(function() {

 	 

 	var sel	=	$(this).val();

 	if  (sel != 0 )
 	{
 	 		
	}		

	});  			

})
</script> 
</head>
<body>
<select>
 <option> 1 </option>
 <option> 2 </option>  
</select>
</body>
</html>

Open in new window

0
 
Tapan PattanaikSenior EngineerCommented:
Hi  sniger,

JavaScript writes into the HTML <body> while the page loads.

Please check this link.

http://www.w3schools.com/js/js_howto.asp
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now