2013-10-04 80 views
0

我試圖在選擇框選項的更改時發出警報。Jquery-更改選擇選項後無法獲得警報

在這裏,我在每個選擇框中添加一個css類名,同時在循環中迭代它,最後我用類選擇器調用jquery函數。

但我不知道爲什麼它沒有顯示選擇框下拉的變化警報。請幫我解決這個問題

<table style="border:1px solid red;" width="650px"> 
<tr style="border:1px solid red;"> 
<td">Status</td> 
</tr> 
<?php 
$qry = "select *from tracker group by orderno"; 
$res = mysql_query($qry) or die(mysql_error()); 
while($data = mysql_fetch_array($res)) 
{ 
?> 
<tr style="border:1px solid red;"> 
<td ><label onclick="show(this.id)" id=<?php echo $data['orderno'];?> > <?php echo $data[1]; ?></label></font></td> 
<td ><?php echo $data['customername']; ?></td> 
<td align="center" style="border:1px solid red;"><?php echo $data['noofbooks']; ?></td> 
<td ><?php echo $data['address']; ?></td> 
<td ><?php echo $data['mobileno']; ?></td> 
<td align="center" style="border:1px solid red;"> 

    <select name="status" class="selectboxid"> 
<?php 
if($data['status'] == "despatch") 
{ 
     echo '<option name="despatched" selected="selected" value="despatched"> Despatched </option>'; 
} 
else 
    { 
    echo '<option name="despatched" value="despatched"> Despatched </option>'; 
} 
    if($data['status'] == "Pending") 
{ 
     echo '<option name="pending" selected="selected" value="pending"> pending </option>'; 
} 
else{ 
    echo '<option name="pending" value="pending"> pending </option>'; 
} 
    if($data['status'] == "deliver") 
{ 
     echo '<option name="despatched" selected="selected" value="despatched"> Despatched </option>'; 
} 
else 
    { 
    echo '<option name="despatched" value="despatched"> Despatched </option>'; 
} 
    if($data['status'] == "partial") 
{ 
     echo '<option name="partial" selected="selected" value="partial"> Partial </option>'; 
} 
else 
{ 
    echo '<option name="partial" value="partial"> Partial </option>'; 
} 
?> 

</select> 
    </td> 
</tr> 
<?php 
} 
?> 
</table> 

而我的jQuery代碼是;

<script> 
$(".selectboxid").change(function() { 
    alert("hi"); 
}); 
</script> 
+0

您是否嘗試過你的包裹的jQuery的使用了'$(文件)。就緒()'函數?通常這會在元素存在之前執行,並且不會綁定任何東西。既然你問的是jQuery問題(前端),你不應該包含你的PHP代碼,而只是一個選擇框和Javascript不能按預期工作。理想情況下,使用類似jsFiddle來演示問題。 –

+1

你確定你包含jQuery庫嗎? – Praveen

+0

@izuriel將它包含在'$(function(){ // ... })之後就可以工作;'。其實我忘記了這一點。所以現在我的問題解決了,所以我現在應該刪除這個問題嗎?我認爲這個問題現在需要任何答案,也沒有其他人使用。 – beginner

回答

1

也許你綁定事件太快(在DOM加載之前)。只需在下面的代碼中加入jQuery函數jQuery(function(){ })即可。

可選,您應該使用on而不是change,它是一種推薦風格。

jQuery(function(){ 
    $(".selectboxid").on('change', function() { 
     alert("hi"); 
    }); 
}); 
+0

+1爲您的答案。不要感覺不好。很高興 – beginner

+0

LOL非常感謝。 – Chokchai

-1

使用這個,不需要$(文件)。就緒...

<script> 
$(document).on("change",".selectboxid",function(){ 
    alert("hi"); 
}); 
</script>