2010-01-13 7 views
2

의 배열을 취득하는 방법 여기에 이름이 "checkGroup"으로 체크 박스의 배열을 가져온 다음 값에 기지가/선택 해제를 확인 설정하는 방법을 내 체크 박스 그룹은 체크 박스

<input type="checkbox" name="checkGroup" id="all" value="0" >All 
<input type="checkbox" name="checkGroup" id="one" value="1">One 
<input type="checkbox" name="checkGroup" id="two" value="2">Two 
<input type="checkbox" name="checkGroup" id="three" value="3">three 

입니다.

편집 모드에서 데이터베이스 에서 문자열 012를 얻고 있습니다. 그런 다음 All, One amd로 체크 할 필요가 있습니다.

도와주세요 감사

답변

1

어떤 문자로 구분없는 숫자의 문자열을 반환하는이 방법 갈 경우 ("012"와 같은) 만 처리 할 수있는 10 개 요소에 대한 문제까지 (없이 0-9) :

function checkItems(str) { 
    var checkboxes = $("input:checkbox[name='checkGroup']"); 
    checkboxes.attr('checked', false); // uncheck all boxes first 
    checkboxes.each(function() { 
    if (str.indexOf(this.value) >=0) { 
     this.checked = true; 
    } 
    }); 
} 

checkItems('012'); // checks all, one, and two 

예를 들어 here을 확인하십시오.

+0

0, 1 또는 2에 없지만 012 이후의 것으로 보이는 값 12의 값은 0과 유사합니까? – Sampson

+0

"12"로 "하나"와 "두"상자를 확인합니다 (OP로 원하는 동작이라고 생각합니다). – CMS

+0

나중에 작동합니다 thanksJonathan – Vicky

1
// Help us with finding values in arrays 
Array.prototype.has=function(v){ 
    for (i=0; i<this.length; i++) { 
    if (this[i]==v) return true; 
    } 
    return false; 
} 

// Define our values 
var myVals = [0,1,2]; 

// Check/Uncheck Accordingly 
$(":checkbox[name='checkGroup']").each(function(){ 
    if (myVals.has($(this).val())) { 
    $(this).attr("checked","checked"); 
    } else { 
    $(this).removeAttr("checked"); 
    } 
});