1

チェックボックスがあります。checkedチェックボックスとuncheckステータスに基づいて、2 つの異なる php ページを呼び出したいと考えています。

ただし、以下のコードは、チェック済みの php ページのみを呼び出しています。その理由は何ですか?

     <script type="text/javascript">
     $(function()
     {
     $('input[id^="test"]').on('click',function()
       {
         if ($('input[id^="test"]').checked)//when users click to on checkbox to check
         {

           $.ajax({
               url: "updatestatus.php?id="+$(this).val()+"&status=1",
               success: function(data){ 
                alert('Successfully updated...');
               }
             });
     } 
     else//when users uncheck the checkbox
       {    $.ajax({
               url: "updatestatus.php?id="+$(this).val()+"&status=2",
               success: function(data){
                 alert("uncheckde...");
               }
             });
        } 
        });
    });
         </script>

そしてページ内

<?php //checkbox in a while loop

            echo " <input type='checkbox' id='test' value='".$row['id']."'/> ";
         ?>
4

3 に答える 3

1

リクエストに応じて:

$('input[id^="test"]').is(':checked')条件として使ってみてください。$(this)イベントをトリガーした特定のチェックボックスを参照するために使用することもできます。したがって、コードを少しクリーンアップしたものを次に示します。

<script>
    $(function() {
        $('input[id^="test"]').on('click',function(e) {
            if ($(this).is(':checked') {
                $.ajax({
                    url: "updatestatus.php?id="+$(this).val()+"&status=1",
                    success: function(data){ 
                        alert('Successfully updated...');
                    }
                });
            } 
            else {    
                $.ajax({
                    url: "updatestatus.php?id="+$(this).val()+"&status=2",
                    success: function(data){
                        alert("uncheckde...");
                    }
                });
            } 
        });
    });
</script>

私が行うもう1つの変更は、チェックボックスにクラスを割り当て、「で始まる」セレクターを使用する代わりにそれをターゲットにすることです(すべてのブラウザーがサポートしているわけではないため)。

于 2013-04-02T07:47:46.670 に答える
0

このようにしてみてください

$(function()
     {
     $('input[id^="test"]').on('click',function()
       {
         if ($(this).attr("checked") == "checked")//when users click to on checkbox to check
         {

           $.ajax({
               url: "updatestatus.php?id="+$(this).val()+"&status=1",
               success: function(data){ 
                alert('Successfully updated...');
               }
             });
     } 
     else//when users uncheck the checkbox
       {    $.ajax({
               url: "updatestatus.php?id="+$(this).val()+"&status=2",
               success: function(data){
                 alert("uncheckde...");
               }
             });
        } 
        });
    });
于 2013-04-01T07:09:42.803 に答える