너무 부족한 코드가 누군가에게 필요할까요?
리크루트 등에서 워낙 체크박스가 많아서...w write m modify
여러 체크박스 체크하고 저장했을 때, 체크박스의 값이 쉼표로 디비에 저장되는 경우,
그 페이지를 수정할 경우에 체크된 상황을 그대로 보여주는 함수입니다.
디비에는 순서대로 쉼표로 체크박스의 값들이 섞여저장되어는 경우에.. .
수정페이지에 들어갔을 때 제대로 골라서 체크된 값들만을 체크해주는 함수입니다.
function showCheckbox4wm($mainStrArr, $mainValArr, $colname, $subArr)
{
$idxArr = array();
if (!empty($subArr)) {
for ($i = 0; $i < sizeof($subArr); $i++) {
// 인덱스를 가져온다.
$temp = array_keys($mainValArr, $subArr[$i]);
// print_r2($temp[0]);
if(sizeof($temp) > 0){
$idxArr[] = $temp[0]; // 발견한 처음 인덱스만 모으면 된다.
}
}
sort($idxArr);
}
// 배열을 값의 크기대로 소팅을 한번 해준다. 아래 for문에서 순차적 검색을 해야하므로...
// print_r2($idxArr);
// print_r2($subArr);
echo "<ul>";
for ($i = 0; $i < sizeof($mainStrArr); $i++) {
//
if (!empty($subArr)) {
$checked = (in_array($i, $idxArr)) ? "checked" : "";
} else {
$checked = '';
}
echo "
<li>
<input type=\"checkbox\" name=\"{$colname}[{$i}]\" id=\"{$colname}_{$i}\" value=\"{$mainValArr[$i]}\" {$checked}>
<label for=\"{$colname}_{$i}\">{$mainStrArr[$i]}</label>
</li>
";
}
echo "</ul>";
}
예제,
$recruit_11ArrMain = array("국민연금", "건강보험", "고용보험", "산재보험", "건강검진", "차량유료보조금", "각종경조금");
$recruit_11ArrSub = "산재보험,건강검진,고용보험";
showCheckbox4wm($recruit_11ArrMain, $recruit_11ArrMain, "recruit_11", $recruit_11ArrSub);
일 때 나열되고, sub문자열에 있는 항목들이 체크되어 보여지도록 됩니다.
정성스럽게 만들어진 예제나 설명이 아니고 거칠어서 죄송합니다. Orz
게시글 목록
| 번호 | 제목 |
|---|---|
| 18088 | |
| 18080 | |
| 18078 |
JavaScript
document.querySelector 의 상수화
2
|
| 18070 |
JavaScript
로또데이터 자바스크립트 기본함수
7
|
| 18061 | |
| 18037 |
JavaScript
당첨확률 높은 로또번호 추출하기
24
|
| 18036 | |
| 18033 | |
| 18022 | |
| 18021 | |
| 18020 | |
| 18018 | |
| 18004 | |
| 17999 | |
| 17995 | |
| 17987 |
PHP
메일 사진 첨부하는 방법
2
|
| 17982 | |
| 17981 |
OS
오래된 파일 지우기
|
| 17980 |
기타
링크 단축기
|
| 17970 | |
| 17965 | |
| 17964 | |
| 17963 |
JavaScript
마우스 아웃시 레이어창이 안닫혀요
|
| 17962 | |
| 17960 |
jQuery
카카오 우편번호 jquery로 변환
|
| 17956 |
PHP
계좌번호 복사소스
1
|
| 17953 |
Mobile
br 태그 모바일에만 보여주기
|
| 17949 | |
| 17930 | |
| 17928 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기