2

在我的页面中,我正在根据数据库表迭代值。当我检查驻留在 php while 循环中的单选按钮时,当用户单击它时,我必须发出警报消息。

我尝试了下面的代码,但它不起作用。当我单击页面上的任何单选按钮时,我没有收到警报消息。请帮我解决我的问题。

我的PHP代码:

      <?php  $result = mysql_query("SELECT * FROM group_expenditure_details where creater_id =   
       '$uid'");
           $a=0; 
           while($row = mysql_fetch_array($result))
               {

                       echo "<tr>";
                           echo "<td width='20%' align='center'><input type='checkbox'  
       name='test".$a++."'  id='test".$a++."' value='1'  /></td>";
                               echo "</tr>";
                }
              echo "</table>";
              echo "</div>";
              mysql_close($con);
           ?>

我的jQuery代码:

    <script type="text/javascript">
            $(function(){
             <?php  $od=$_SESSION['id']; $result1 = mysql_query("SELECT * FROM            
                   group_expenditure_details where creater_id = '$od'");  $a=0;
             while($row = mysql_fetch_array($result1))  {  ?>
                $('<?php  '#test'.$a++?>').click(function(){
            <?php } ?>
                    alert('clicked');
                });
            }); 
    </script>
4

3 回答 3

4
$(function()
{
    $('input[id^="test"]').on('click',function()
    {
        alert('Clicked');
    });
});

$('input[id^="test"]')将做的是选择所有input以.idtest

.on是新版本 jQuery的替代.live()品。.delegate()

.on()适用于动态加载的内容,因此如果checkbox稍后添加,则click事件也将适用于新添加DOM的 .

于 2013-04-01T04:36:26.207 回答
0

我将向单选按钮添加一个类属性

<input type='checkbox' class="my-radio" name='test".$a."'  id='test".$a."' value='1'  />

然后

$(function(){
    $('.my-radio').click(function(){
        alert('Clicked');
    });
});
于 2013-04-01T04:36:23.520 回答
-1
$(function(){  //ensure dom is ready
    $('input[id^=test]').click(function(){ //id starts with test
        alert('Clicked');
    });
});

不要为此在您的 javascript 中使用任何 PHP。你构建你的方式id='test'.$a将确保 id `总是以 test. 所以在上面的点击函数中,我们已经处理了模式。

于 2013-04-01T04:34:36.787 回答