2011-01-31 14 views
0

jQueryがclickイベントにバインドしないのはなぜですか?選択肢をクリックすると、onClickを置いたものを除き、警告は表示されません。jQueryがクリックでバインドされないのはなぜですか?

<html> 
<head> 
<title>Robo</title> 

<script type="text/javascript" src="jquery-1.4.2.min.js"></script><script type="text/javascript"> 

$('.changer').click(function(){alert('test');}); 


</script> 
</head> 
<body> 

<select class="changer" name="dept" id="dept_select"> 
    <option value="">Select a Department</option> 
</select> 

<select onclick="alert('ya');" class="changer" name="course" id="course_select"> 
    <option value="">Select a Course</option> 
</select> 
<select class="changer" name="section" id="section_select"> 
    <option value="">Select a Section</option> 
</select> 

</body> 
</html> 

答えて

4

使用jQueryのreadyイベントハンドラ

$.ready(function(){ 
     $('.changer').click(function(){ 
     alert('test'); 
     }); 
    }); 

やライブ機能を使用してください: あなたは2つのことを行うことができます。

$('.changer').live("click", (function(){ 
    alert('test'); 
}); 
2

あなたはreadyハンドラにコードをラップする必要があります:あなたは、クリックハンドラをバインドしているとき.changer要素はDOMでは使用できませんので

$(function(){ 
    $('.changer').click(function(){alert('test');}); 
}); 
+0

+1 **またはいずれかの方法ですべての「チェンジャー」要素の後に移動します。 –

+0

ああ、私の愚かな準備を忘れる。それはしばらくしていた。ありがとう、私は誰もがアップして、あなたの答えを受け入れるよ – babonk

+0

@babonk:ようこそ:) – Sarfraz

1

readyイベントであなたのjQueryをラップ:

あなたもデリゲート関数を使用することができます
$(function() { 
    $('.changer').click(function(){alert('test');}); 
}); 
1

...

$('.changer').delegate('click',function(){ 
    alert('test'); 
}); 
1

をあなたは.readyハンドラDG構文をラップする必要があります。

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('.changer').click(function(){alert('test');}); 
}); 
</script> 

DOMが完全に読み込まれたときに実行する関数を指定するために使用されるメソッドです。

関連する問題