2011-04-10 5 views
0

나는 딜레마가 있습니다 - 텍스트 필드, 드롭 다운 메뉴 및 종속 제 3의 제출/선택을 포함하는 행의 테이블을 만들었습니다.jQuery live() and change

또한이 3 가지 양식 요소에 배치 된 기본값이있는 새 행을 추가하는 '새로 추가'버튼이 있습니다. 다음과 같습니다

if ($('.navigation_type').length > 0) { 
    $('.navigation_type').live('change', function() { 
     var next_cell = $(this).parent('td').next(); 
     var identity = $(this).attr('id').split('_'); 
     var type = $(this).val(); 
     var url = '/pages/c/navigation/a/fetch/id/' + identity[1] + '/type/' + type; 
     $.getJSON(url, function(data) { 
      if (!data.error) { 
       next_cell.html(data.content); 
      } 
     });   
    }); 
} 

그리고 '새로운 버튼을 추가'스크립트 :

if ($('.add_navigation').length > 0) { 
    $('.add_navigation').click(function() { 
     var master = $(this).attr('id').split('_'); 
     master = master[1];   
     $.getJSON('/pages/c/navigation/a/newrow/master/' + master, function(data) { 
      $('#section_' + master).after(data.row); 
     }); 
     return false; 
    }); 
} 

여기

는 세 번째 열 요소는 위의 선택 메뉴에서 선택한 값에 따라 변경 스크립트입니다 '.add_navigation'버튼은 드롭 다운의 값을 변경할 때까지 올바르게 작동합니다. 아무 것도하지 않습니다. 세 번째 열은 선택한 값에 따라 변경되지 않습니다.

저는 문제를 해결해야한다고 생각했기 때문에 live ('change') menthod를 사용했지만 분명히 잘못된 것을하고 있습니다.

+0

이벤트 핸들러 주위에 if 문이 필요 없다고 생각합니다. –

+0

'if'문을 사용하지 않으면 작동하지 않습니다. 두려워요. – user398341

답변

1

확인 - 문제가 해결되었습니다. - 문제를 일으키는 다른 코드였습니다! 위의 스크립트는 정상적으로 작동합니다.