2012-08-15 5 views
0

미국의 주요 도시에 대한 체크 박스가 있습니다. 상태를 선택하기위한 드롭 메뉴를 만들었습니다. 사용자가 제출 버튼을 클릭하면 특정 상태에 대한 모든 확인란을 선택하려고합니다. 각 체크에 이미 동적 ID를 사용하고 있는데 title 속성으로 식별 할 수 있다고 생각했습니다.특정 상태의 체크 박스

jquery가 아닌 일반 "javascript"로 "뉴욕 주"를 모두 선택하는 방법이 있습니까?

도움을 주시면 감사하겠습니다.

neojakey

편집 나는이 라인을 따라 생각

function SelectState(StateAbbr) 
{ 
    var f = document.frmChangeMemberPaid; 
    checkboxes = document.getElementsByName('LocalPageID'); 
    for(var i in checkboxes) 
    { 
      if(checkboxes[i].attributes[1].name == StateAbbr) 
      { 
       checkboxes[i].checked = source.checked; 
      } 
    } 
} 

답변

1

난 당신이 일치 만을 확인 모든 체크 박스를 필터링, 모든 입력을 얻을 기능 getElementsByTagName을 사용한다고 생각합니다 당신의 기준 :

var inputs = document.getElementsByTagName("input"); 

for (var i=0, count = inputs.length; i < count; i++) { 
    var node = inputs.item(i); 
    if (node.type === "checkbox") { 
     if (node.title === "New York State") { 
      node.checked = true; 
     } else { 
      // uncheck other checkboxes in case they are already checked 
      node.checked = false; 
    } 
} 
+0

완벽 안드레이 일했다 .. 캔트 충분히 감사합니다, 좋은 직장 ..! – neojakey

0

사용 클래스는 입력을 표시합니다 :

<table id="cities" border="1"> 
    <tr> 
     <td> 
      Miami, FL 
      <input type="checkbox" value="Miami" class="FL" /> 
     </td> 
     <td> 
      New York City, NY 
      <input type="checkbox" value="New York City" class="NY" /> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      Tampa, FL 
      <input type="checkbox" value="Tampa" class="FL" /> 
     </td> 
     <td> 
      Buffalo, NY 
      <input type="checkbox" value="Buffalo" class="NY" /> 
     </td> 
    </tr> 
</table> 

<select id="states"> 
    <option value="FL">FL</option> 
    <option value="NY">NY</option> 
</select> 

<script type="text/javascript"> 
    var cities = document.getElementById('cities'), 
    states = document.getElementById('states'); 

    function checkCitiesOf(state) { 
     inputs = cities.getElementsByTagName('input'); 
     for(var i = 0, l = inputs.length; i < l; i++) { 
      inputs[i].checked = inputs[i].className == state;  
     } 
    } 

    states.onchange = function() { 
     checkCitiesOf(this.value); 
    }; 
</script> 

Fiddle

관련 문제