게시판 2단 분류
// 관리자에서 1차 카타고리 등록 : 과일|도시
// 2차 분류는 여분필드 wr_1 사용
// /skin/board/basic/list.skin.php 하단 삽입
<script>
var cate = [];
var cate1 = '';
var m = /(stx=)(.+)/.exec(location.href);
var cate2 = m ? decodeURIComponent(m[2]) : ''; // 2차 분류값
var html = '';
cate['과일'] = ['사과', '복숭아', '포도'];
cate['도시'] = ['서울', '부산', '대구'];
$('#bo_cate_ul li').each( function(i) {
var val = $(this).text();
var k = i ? val : '';
var selected = '';
if (val.indexOf('열린 분류 ') > -1) {
selected = 'selected';
val = val.replace(/열린 분류 /, '');
cate1 = val;
}
html += '<option value="' + k + '"' + selected + '>' + val + '</option>';
})
$('#bo_cate_ul').html('<select name="sca" id="sca">' + html + '</select');
$('#sca').after(' <span id="cate2"></span> <input type="button" id="cate_sh" value="검색" />');
// 1차분류 선택
if (location.href.indexOf('sfl=wr_1&stx=') > -1) {
for (var i in cate) {
if (cate[i].indexOf(cate2) > -1) {
$('#sca').val(i);
cate1 = i;
break;
}
}
}
getCate(cate1, cate2);
// 2차 분류
function getCate(cate1, cate2 = '') {
if (!cate1) return;
var html = '<select name="wr_1" id="wr_1"><option value="">전체</option>';
for (var j in cate[cate1]) {
var val = cate[cate1][j], selected = val == cate2 ? 'selected' : '';
html += '<option value="' + val + '"' +selected + '>' + val + '</option>';
}
$('#cate2').html(html + '</select>');
}
$('#sca').on('change', function() {
getCate(this.value);
});
$('#cate_sh').on('click', function() {
if ($('#wr_1').val())
location.href = location.href.replace(/&(sfl|stx|sca)=[^&]+/g, '') + '&sfl=wr_1&stx=' + $('#wr_1').val();
else
location.href = location.href.replace(/&(sfl|stx|sca)=[^&]+/g, '') + '&sca=' + $('#sca').val();
});
</script>
// /skin/board/basic/write.skin.php 하단 삽입
<script>
var cate = [], cate1 = '<?php echo $ca_name ?>', cate2 = '<?php echo $wr_1 ?>';
cate['과일'] = ['사과', '복숭아', '포도'];
cate['도시'] = ['서울', '부산', '대구'];
$('#ca_name').after(' <span id="cate2"></span>');
getCate(cate1, cate2);
// 2차 분류
function getCate(cate1, cate2 = '') {
if (!cate1) return;
var html = '<select name="wr_1" id="wr_1"><option value="">전체</option>';
for (var j in cate[cate1]) {
var val = cate[cate1][j], selected = val == cate2 ? 'selected' : '';
html += '<option value="' + val + '"' +selected + '>' + val + '</option>';
}
$('#cate2').html(html + '</select>');
}
$('#ca_name').on('change', function() {
getCate(this.value);
});
</script>
// 2차 분류는 여분필드 wr_1 사용
// /skin/board/basic/list.skin.php 하단 삽입
<script>
var cate = [];
var cate1 = '';
var m = /(stx=)(.+)/.exec(location.href);
var cate2 = m ? decodeURIComponent(m[2]) : ''; // 2차 분류값
var html = '';
cate['과일'] = ['사과', '복숭아', '포도'];
cate['도시'] = ['서울', '부산', '대구'];
$('#bo_cate_ul li').each( function(i) {
var val = $(this).text();
var k = i ? val : '';
var selected = '';
if (val.indexOf('열린 분류 ') > -1) {
selected = 'selected';
val = val.replace(/열린 분류 /, '');
cate1 = val;
}
html += '<option value="' + k + '"' + selected + '>' + val + '</option>';
})
$('#bo_cate_ul').html('<select name="sca" id="sca">' + html + '</select');
$('#sca').after(' <span id="cate2"></span> <input type="button" id="cate_sh" value="검색" />');
// 1차분류 선택
if (location.href.indexOf('sfl=wr_1&stx=') > -1) {
for (var i in cate) {
if (cate[i].indexOf(cate2) > -1) {
$('#sca').val(i);
cate1 = i;
break;
}
}
}
getCate(cate1, cate2);
// 2차 분류
function getCate(cate1, cate2 = '') {
if (!cate1) return;
var html = '<select name="wr_1" id="wr_1"><option value="">전체</option>';
for (var j in cate[cate1]) {
var val = cate[cate1][j], selected = val == cate2 ? 'selected' : '';
html += '<option value="' + val + '"' +selected + '>' + val + '</option>';
}
$('#cate2').html(html + '</select>');
}
$('#sca').on('change', function() {
getCate(this.value);
});
$('#cate_sh').on('click', function() {
if ($('#wr_1').val())
location.href = location.href.replace(/&(sfl|stx|sca)=[^&]+/g, '') + '&sfl=wr_1&stx=' + $('#wr_1').val();
else
location.href = location.href.replace(/&(sfl|stx|sca)=[^&]+/g, '') + '&sca=' + $('#sca').val();
});
</script>
// /skin/board/basic/write.skin.php 하단 삽입
<script>
var cate = [], cate1 = '<?php echo $ca_name ?>', cate2 = '<?php echo $wr_1 ?>';
cate['과일'] = ['사과', '복숭아', '포도'];
cate['도시'] = ['서울', '부산', '대구'];
$('#ca_name').after(' <span id="cate2"></span>');
getCate(cate1, cate2);
// 2차 분류
function getCate(cate1, cate2 = '') {
if (!cate1) return;
var html = '<select name="wr_1" id="wr_1"><option value="">전체</option>';
for (var j in cate[cate1]) {
var val = cate[cate1][j], selected = val == cate2 ? 'selected' : '';
html += '<option value="' + val + '"' +selected + '>' + val + '</option>';
}
$('#cate2').html(html + '</select>');
}
$('#ca_name').on('change', function() {
getCate(this.value);
});
</script>
댓글 15개
8년 전
찾고 있었는데 감사합니다.
8년 전
정말 좋은 팁입니다.
8년 전
슈와이님 좋은자료 감사합니다^^
한가지 문의 드립니다
게시판2단 분류를
3단 이나 4단... 등 여러개의 분류를 더 추가하여
여러개 분류 사용 할수 있을까요?
가능하다면 어떻게 적욘 할수 있을까요?
감사합니다^^*
한가지 문의 드립니다
게시판2단 분류를
3단 이나 4단... 등 여러개의 분류를 더 추가하여
여러개 분류 사용 할수 있을까요?
가능하다면 어떻게 적욘 할수 있을까요?
감사합니다^^*
8년 전
좋은자료 감사드립니다.
8년 전
여분필드 wr_1을 사용하고 있을 경우는 다른 필드를 사용하면 되는지요?
7년 전
이럴 수가 좋아요가 안 눌리다니....! 유용하게 사용했습니다. 감사합니다^^
goodbam
7년 전
멋진자룝입니다. 감사합니다^^
6년 전
감사합니다.
6년 전
Not Found
The requested URL /&sfl=wr_1&stx=사과 was not found on this server.
위와 똑같이 적용 하여 검색을 누르니 이런 에러가 나오네요.. 혹시 어떤것을 수정해야 할런지요
The requested URL /&sfl=wr_1&stx=사과 was not found on this server.
위와 똑같이 적용 하여 검색을 누르니 이런 에러가 나오네요.. 혹시 어떤것을 수정해야 할런지요
6년 전
여분필드에 값을 넣어주니.. 제대로 작동을 하네요.. ^^ 감사합니다. 해결 되었습니다.
소소한여자
6년 전
너무 좋아요
GnuBoard™
5년 전
좋은 팁 감사합니다.
4년 전
감사합니다.
3년 전
2차분류값이 db에는 저장되어있는데,
글 수정하기에서는 기존에 입력한 2차분류가 선택되어있지않고, 전체로 되어있어요.
선택된 2차분류값이 글 수정하기시에 2차분류값이 선택되어있게 할 수는 없나요
글 수정하기에서는 기존에 입력한 2차분류가 선택되어있지않고, 전체로 되어있어요.
선택된 2차분류값이 글 수정하기시에 2차분류값이 선택되어있게 할 수는 없나요
2년 전
2단분류
게시판 목록
그누보드5 팁자료실
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 2695 | 1개월 전 | 172 | ||
| 2694 | 1개월 전 | 134 | ||
| 2693 | 1개월 전 | 143 | ||
| 2692 | 1개월 전 | 158 | ||
| 2691 | 1개월 전 | 312 | ||
| 2690 | 1개월 전 | 217 | ||
| 2689 |
|
1개월 전 | 424 | |
| 2688 | 1개월 전 | 275 | ||
| 2687 |
선택과집중
|
1개월 전 | 313 | |
| 2686 | 1개월 전 | 275 | ||
| 2685 | 2개월 전 | 331 | ||
| 2684 | 2개월 전 | 462 | ||
| 2683 | 2개월 전 | 262 | ||
| 2682 | 2개월 전 | 287 | ||
| 2681 |
선택과집중
|
2개월 전 | 264 | |
| 2680 | 2개월 전 | 313 | ||
| 2679 |
|
2개월 전 | 417 | |
| 2678 |
|
2개월 전 | 488 | |
| 2677 | 2개월 전 | 312 | ||
| 2676 | 2개월 전 | 287 | ||
| 2675 |
선택과집중
|
2개월 전 | 464 | |
| 2674 |
|
2개월 전 | 310 | |
| 2673 | 2개월 전 | 322 | ||
| 2672 | 2개월 전 | 272 | ||
| 2671 | 2개월 전 | 244 | ||
| 2670 | 2개월 전 | 357 | ||
| 2669 | 2개월 전 | 275 | ||
| 2668 |
선택과집중
|
2개월 전 | 470 | |
| 2667 |
선택과집중
|
2개월 전 | 455 | |
| 2666 |
선택과집중
|
3개월 전 | 388 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기