2013-10-04 45 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>