2014-09-16 4 views
0

나는 세 개의 체크 박스를 html로 가지고 있습니다.
자바 스크립트에는 변수 newspaper = "jang,News,Dawn"이 있습니다.자바 스크립트에서 체크 박스를 체크하는 방법

이제 jang이 포함 된 경우 신문 값을 기준으로 확인란을 선택하고 jang, News, Dawn이 포함 된 경우 장 확인란 만 선택하면 모든 세 개의 확인란을 선택해야합니다.

필자가 작성한 코드는 항상 마지막 두 개의 확인란을 잘못 선택했는지 확인했습니다.

내 코드는 다음과 같습니다

var newspaper = document.forms[0].newspaper; 
var a = "Jang,News"; 

var news = ["Jang", "Dawn", "News"] 
for (i = 0; i < news.length; i++) 
{ 
    if (a.indexOf(news[i])) 
    { 
     newspaper[i].checked = true; 
    } 
} 
<input type="checkbox" name="newspaper[]" value="Jang">Jang<br /> 
<input type="checkbox" name="newspaper[]" value="Dawn">Dawn<br /> 
<input type="checkbox" name="newspaper[]" value="News">The News 
+1

또한 a.indexOf (뉴스 [I])> = 0) 첫 번째 문자에 일치 할 수 있도록 – AlexanderBrevig

답변

-1

코드를 변경하고이 교체하십시오 :

if (a.indexOf(news[i])) 
      {newspaper[i].checked = true; 
    } 

의 :

for(j = 0; j < newspaper.length; j++){ 
    if(newspaper[j].value == newspaper[i].value){ 
     if (a.indexOf(news[i])){ 
     newspaper[j].checked = true; 
     } 
    } 
} 
0
var newspaper = document.forms[0]["newspaper[]"]; 
var a = "Jang,News"; 
for (i = 0; i < newspaper.length; i++) 
{ 
     if(a.indexOf(newspaper[i].value) > -1){ 
      newspaper[i].checked = true; 
      } 
} 

네, 코드와 요소의 이름을 검토 할 것입니다. 그러나 여기에서, 이것은 작동합니다.

http://jsfiddle.net/3qeeox0a/

2

당신은 당신의 코드에서 일부 내용을 변경해야 할 자바 스크립트 만, 당신이 사용하여 수행 할 경우

변경 모든 체크 박스에 "신문"(대괄호없이)

의 이름을
<input type="checkbox" name="newspaper" value="Jang"/>Jang<br /> 
<input type="checkbox" name="newspaper" value="Dawn"/>Dawn<br /> 
<input type="checkbox" name="newspaper" value="News"/>The News 

체크 indexOf 반환 값은 -1 동일하지 :

if (a.indexOf(news[i]) != -1) { 
    newspaper[i].checked = true; 
} 

여기는 working demo입니다.

0

this-

var newspaper = document.forms[0].newspaper; 
    var a = "Jang,News"; 

    var news = ["Jang","Dawn", "News"] 
    for (i = 0; i < news.length; i++) 
    { 
     if (a.indexOf(news[i]) != 1) 
     { 
      newspaper[i].checked = true; 
     } 
    } 

바이올린을 시도 : - http://jsfiddle.net/um0y5wrp/9/

관련 문제