2016-09-19 14 views
0

私には次の問題があります。 tableがあります。テーブルの行を右クリックすると、チェックボックスがオンになっています。右クリックするとjQueryが機能しないチェックボックス

これは、右クリックチェックボックスのチェックコードです。

$('tr.check').contextmenu(function (e) { 
     $(this).find('input[type="checkbox"].check_row').prop('checked', true); 
     return false; 
    }); 

しかし、問題は変更後のチェックボックス番号row idです。 これを行う正しい方法は何ですか?

+0

チェックボックスにバインドされたすべての変更イベントを持っていますか?それを引き起こす方法はあなたの質問ですか? –

+0

@A.Wolff:はい、そうです。 –

+0

それはそうするでしょう: '$(this).find( 'input [type =" checkbox "]。check_row')prop( 'checked'、true).trigger( 'change');' –

答えて

1

私が本当に欲しいものを見つけました。

function populate_context_menu($object){ 
       var ischecked = $($object).is(':checked'); 
       var jsonString = JSON.stringify(values); 

       var ischecked = $($object).is(':checked'); 
       if (ischecked) 
       { 
        $("#checked-a").fadeIn(200); 

        jQuery.ajax({ 
         type: "POST", 
         url: "<?php echo base_url(); ?>" + "files/dropdown_menu", 
         dataType: 'json', 
         data: {files_ids: jsonString}, 
         success: function (res) { 
          if (res) 
          { 
           $("div#result").show(); 
           $("div#value").html(res.jsonString); 
          } 
         } 
        }); 

       } else { 
        if (values.length === 0) { 
         $("#checked-a").fadeOut(200); 
        } 
       } 
      }; 


$(".selected_check").change(function() { 

        populate_context_menu(this); 

      }); 

これは、右クリックのため

$('tr.check').contextmenu(function (e) { 
       $cb = $(this).find('input[type="checkbox"].selected_check'); 
       $($cb).attr('checked', 'checked');          
       populate_context_menu($cb); 

       return false; 
      }); 
0

prop()またはattr()メソッドを使用する場合は、change()またはtrigger('change')を使用してイベントをトリガーする必要があります。

$('tr.check').contextmenu(function (e) { 
     $(this).find('input[type="checkbox"].check_row').prop('checked', true); 
     $(this).find('input[type="checkbox"].check_row').change(); // trigger change event 
     //OR 
     //$(this).find('input[type="checkbox"].check_row').trigger('change'); 

     return false; 
    }) 

;

+0

あなたのサポートに感謝します。 –

+0

変更イベントコードを入力できますか? –

関連する問題