2012-02-14 7 views
0

チェックボックスをオンにするスクリプトを作成しようとしています。私が今のところ持っているコードは、読み取りがダンプされたときには&の承認を無効にし、追加/承認のいずれかが選択されたときは読み取りを無効にします。今私が持っている問題は、jQueryにajax submissionを追加したときにレコードを保存せず、チェックボックスを無効にしなくなりました(読んだと仮定して)。チェックボックスsave onchange関数

これまでのところ私はこれを得ています。

$(document).ready(function(){ 
    $('#list-tbl tr').each(function(){ 

     var $this = $(this); 
     var id = $('#input').val(); 
     $('input[type=checkbox]', $this).change(function(){ 
      if($('.read', $this).is(':checked')){ 
       $('input[type=checkbox]', $this).prop('disabled',true); 
       $.ajax({ 
        type: 'POST', 
        url: <?= site_url('admin/update')?>, 
        dataType: "json", 
        data: { id: id }, 
        success: function(data) { 
         alert("Updated"); 
      } 
     }); 
       $(this).prop('disabled',false); 
      } else if($('.add', $this).is(':checked') || $('.approve', $this).is(':checked')) { 
       $('.read', $this).prop('disabled', true); 
       $(this).prop('disabled', false); 
      } else{ 
       $('input[type=checkbox]', $this).prop('disabled',false); 
       $(this).prop('disabled',false); 
      } 
     }); 
    }); 
}); 

例:http://jsfiddle.net/bGatX/

私はlilのビット挫折取得しています私はちょうど右の方法でデータを保存し、それがあるとして無効化を実行したい....

多くのおかげで。あなたのjsFiddleを見て

+0

私たちの見解では、あなたの問題が実際に何であるかを特定するのは難しいことです。付属のHTMLで[jsFiddle](http://jsfiddle.net/)を作ることを検討しますか? –

+0

jsFiddle ..が追加されました –

答えて

1

...あなたが実際にあなたが使用してIDを保存しようとしたにも、かかわらず、id="input"でHTML要素を持っていない:var id = $('#input').val();

これは、あなたがしようとしているIDですサーバーに送信しますが、実際には存在しません。あなたは本当に何をしようとしていますか?特定のユーザーが特定のアイテムを読んだり、追加したり、承認したりしたかどうかを確認します。その場合、サーバーに送信する必要があるのは、ユーザーIDが、ユーザーがアイテムを読み取り/追加したか、承認したかを表す文字列と組み合わされたものです。

冗長性とパフォーマンスの問題として、$(this).prop('disabled',false);がすべての条件の中で共通であり、共通の要因として前面に引き出すことができます。

関連する問題