2016-09-19 4 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

변경 이벤트 코드를 넣을 수 있습니까? –

관련 문제