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"]')すべてを選択することです。inputidtest

.onjQuery の新しいバージョンに.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 に答える