2010-12-06 3 views
0

질문을 따르십시오. 나는 여러개의 listitem을 가지고 있는데, 목록 아이템이 특정 값을 가질 때 'hidden'을 표시하도록 세 숨겨진 tr을 표시하고 싶습니다.목록 항목에 특정 값이있는 경우 tr을 표시하는 자바 스크립트

양식 요소는

<tr> 
<td><label>bla</label></td> 
<td><input id='bla'></td> 
</tr> 

난 다음 스크립트를 사용하여 설정 한 다음.

function checkValue(){ 

var verhuurdVan = document.getElementById('verhuurd_van_datepicker_field').parentNode.parentNode.style.display='none'; 
var verhuurdTot = document.getElementById('verhuurd_tot_datepicker_field').parentNode.parentNode.style.display='none'; 
var beschikbaar = document.getElementById('beschikbaar_verhuur_1').parentNode.parentNode.style.display='none'; 

var list = document.getElementById('productstatus_id_ListOn'); 

for(var i=0; i<list.options.length; i++){ 
    if(list.options[i].value == '1'){ 
     here the table rows has to be set to display block; 
    } 
} 

HTML ID 이름을 무시합니다. 이는 CMS에 의해 구문 분석되기 때문입니다.

미리 감사드립니다.

+0

목록에있는 세 가지 옵션 중 하나를 선택하여 숨겨진 행 3 개 중 하나를 표시하려고합니까? – sje397

+0

목록의 값이 1과 같을 때 3 행을 모두 표시하려고합니다. – Navid

답변

0

DOM의 정확한 레이아웃을 모르면 정확한 코드 줄을 제공 할 수 없습니다. 그러나 코드 블록에서 요소가 3-5 행에 숨겨 짐을 알 수 있습니다.

이 결과적으로, 내면의 if 블록 내에서, 당신은 요소를 다시 만들기 위해 할 일은, 다시 '블록'에 대응하는 요소의 스타일을 설정하는 것입니다 예 :

document.getElementById('verhuurd_tot_datepicker_field').parentNode.parentNode.style.display='block'; 

세의 어느 실제로 활성화하는 노드는 결정할 때까지 결정해야하지만, 그게 인데, 어떻게하면 이겠는가.

+0

행의 표시 스타일을 '블록'으로 설정하는 것은 좋지 않은 생각입니다. 빈 문자열로 설정하면 기본 표시 스타일이 적용됩니다. – RoToRa

+0

대단히 잘 작동합니다. 바보 같은 질문을하면 지금까지 결과를 볼 수 있습니다. 그러나 나는 var에 대해 생각했다. 나는 다음과 같은 것도 효과가있을 것이라고 생각했다. Udate : @verhuurdVan 예 나는 내가 style.display = ''로 설정했음을 알았습니다. verhuurdVan.style.display = '블록'; – Navid

관련 문제