2010-03-12 9 views
0

div 태그 안에있는 asp : bulletedlist 컨트롤이 있는데 컨트롤 안에있는 목록 항목 수를 계산해야합니다. 나는이 작업을 수행 할 때, 그것은 던져 오류가 말하는, 그러나JavaScript를 사용하여 asp.bulletedlist의 listitem 수를 계산하는 방법

var listcontrol = document.getElementById('BulletedList1'); 
var countItems = listcontrol.getElementByTagName('li').length; 

: <li> 즉 목록입니다 인터넷을 검색하고, 사실을 항목에 의해 다시 주어진 HTML을 지적, 난의 예를 사용할 수 있다고 생각 이 컨트롤에는 개체가 없습니다.

내 문제는이 때문에 div 태그의 높이를 설정하기 위해 이것을 사용하고자하기 때문에 클라이언트 측에서해야하기 때문에 asp : bulletedlist 컨트롤 내에서 자바 스크립트로 항목 수를 계산하는 방법은 무엇입니까?

답변

1

렌더링 할 때 Asp.Net 컨트롤의 실제 ID가 컨트롤의 ID에 설정 한 ID와 다르기 때문에 document.getElementById를 사용하는 것처럼 사용할 수 없습니다. 페이지의 소스를 보면 실제 ID가 무엇인지 알 수 있습니다. 원하는 경우이 코드를 사용하면이 코드가 작동하지만 계층 구조가 변경 될 것이므로 불릿 목록 컨트롤을 움직이면 중단됩니다.

이렇게하는 또 다른 방법은 jQuery를 사용하는 것입니다. 귀하의 예제에서, 당신이 할 수 있습니다 :

$('[id$=BulletedList1]').children('li').size() 

이, 'BulletedList1'로 끝나는 리 아이를 가져온 다음 컬렉션의 크기를 반환하는 요소를 선택합니다.

+0

기술적으로 그것은 당신의 aspx 페이지가 다시 쓰여지지만 어쨌든 +1되는 마스터 페이지를 사용할 때 단지 ID입니다. –

+0

당신이 무엇을 의미하는지 모르겠습니다 - 설명해 주시겠습니까? –

관련 문제