0

我正在尝试对选择框选项的更改发出警报。

在这里,我在每个选择框上添加了一个 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>
4

2 回答 2

1

也许你绑定事件太快了(在加载 DOM 之前)。只需将 jQuery 函数放入下面的jQuery(function(){ })代码中即可。

对于可选,您应该使用on而不是change,它是推荐的样式。

jQuery(function(){
   $(".selectboxid").on('change', function() { 
       alert("hi");
   });
});
于 2013-10-04T05:57:35.483 回答
-1

使用这个,不需要 $(document).ready...

<script>
$(document).on("change",".selectboxid",function(){
    alert("hi");
});
</script>
于 2013-10-04T06:20:32.557 回答