2012-07-20 4 views
0

일부 TR의 가시성을 토글하는 기능을 실행하는 확인란에 대해 onChange 이벤트가 있습니다. 내 문제는이 코드는 파이어 폭스에서만 작동합니다. 나는 그것이 ie8을 위해 일하고 싶다.ASP.NET Jquery 검사가 작동하지 않는 것으로 확인되었습니다.

function toggleVisibility() { 

    if ($("#ctl00_PageContent_chkVisibility").is(':checked')) { 
     $('#ctl00_PageContent_freight_rate_column_chaair tr').each(function(i, val) { // Loop through rows in grid 
      if (i > 9 & i < 28) { 
       $('#ctl00_PageContent_freight_rate_column_chaair_r' + i).hide(); 
      }; 
     }); 
    } 
    else { 
     $('#ctl00_PageContent_freight_rate_column_chaair tr').each(function(i, val) { // Loop through rows in grid 
      if (i > 9 & i < 28) { 
       $('#ctl00_PageContent_freight_rate_column_chaair_r' + i).show(); 
      }; 
     }); 
    }; 
}; 

누구든지이 작업을 수행하는 더 좋은 방법을 알고 있습니까? 내가 선택 "로 시작"를를 사용하는 대신 인덱스 번호로 ID를 CONCAT하려고 시도 할 것이다

감사

답변

1

. 만 인덱스를 확인해야합니다, 당신은 때문에 루프 동안 인덱스 번호로 ID를 CONCAT 필요가 없습니다

$('#ctl00_PageContent_chkVisibility').change(function() { 
    toggleVisibility() 
}); 

function toggleVisibility() { 
    if ($("#ctl00_PageContent_chkVisibility").is(':checked')) { 
     $('#ctl00_PageContent_freight_rate_column_chaair tr').each(function (i, val) { // Loop through rows in grid 
      if (i > 9 & i < 28) { 
       $('input[id^="ctl00_PageContent_freight_rate_column_chaair_r"]').hide(); 
      }; 
     }); 
    } 
    else { 
     $('#ctl00_PageContent_freight_rate_column_chaair tr').each(function (i, val) { // Loop through rows in grid 
      if (i > 9 & i < 28) { 
       $('input[id^="ctl00_PageContent_freight_rate_column_chaair_r"]').show(); 
      }; 
     }); 
    }; 
}; 

: 이런 식으로 뭔가를 시도하십시오. 이 인덱스에서 hide 함수는 인덱스에서 행을 숨기므로 숨길 행의 정확한 ID를 지정할 필요가 없습니다.

+0

감사 안녕하세요이 나를 도왔다. 내 if 조건 내에서 ID를 기반으로 올바른 행을 숨기는 대신 사용자 컨트롤을 숨기므로 원래 jquery 선택기를 사용했습니다. 감사. –

+0

문제 없습니다. 도움이 되었기 때문에 기쁩니다! – ORION

0

나는 당신이 당신의 영문 페이지에 이런 식으로 뭔가를 선언 한 것 같아요 :

<asp:CheckBox ID="chkId" runat="server" onchange="toggleVisibility()"/> 

이 FF에서 작동하지만 IE에서.

체크 박스 요소에 onchange를 속성을 제거하고 또한 기능 toggleVisibility 를 제거하고 사용 jQuery로 함수를 등록하려고 :

<script language="javascript"> 
$(function() { 

$('#ctl00_PageContent_chkVisibility').change(function() {    
     // 
     // paste here your existing code , the body of the function toggleVisibility 
}); 
}); 
</script> 
관련 문제