게시판 2단 분류 정보
게시판 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>
추천
3
3
댓글 15개
신고가 접수된 글입니다.
신고 횟수가 1회 이상이면 글을 확인하지 못합니다.
찾고 있었는데 감사합니다.
정말 좋은 팁입니다.
슈와이님 좋은자료 감사합니다^^
한가지 문의 드립니다
게시판2단 분류를
3단 이나 4단... 등 여러개의 분류를 더 추가하여
여러개 분류 사용 할수 있을까요?
가능하다면 어떻게 적욘 할수 있을까요?
감사합니다^^*
한가지 문의 드립니다
게시판2단 분류를
3단 이나 4단... 등 여러개의 분류를 더 추가하여
여러개 분류 사용 할수 있을까요?
가능하다면 어떻게 적욘 할수 있을까요?
감사합니다^^*
좋은자료 감사드립니다.
여분필드 wr_1을 사용하고 있을 경우는 다른 필드를 사용하면 되는지요?
이럴 수가 좋아요가 안 눌리다니....! 유용하게 사용했습니다. 감사합니다^^
멋진자룝입니다. 감사합니다^^
감사합니다.
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.
위와 똑같이 적용 하여 검색을 누르니 이런 에러가 나오네요.. 혹시 어떤것을 수정해야 할런지요
여분필드에 값을 넣어주니.. 제대로 작동을 하네요.. ^^ 감사합니다. 해결 되었습니다.
너무 좋아요
좋은 팁 감사합니다.
감사합니다.
2차분류값이 db에는 저장되어있는데,
글 수정하기에서는 기존에 입력한 2차분류가 선택되어있지않고, 전체로 되어있어요.
선택된 2차분류값이 글 수정하기시에 2차분류값이 선택되어있게 할 수는 없나요
글 수정하기에서는 기존에 입력한 2차분류가 선택되어있지않고, 전체로 되어있어요.
선택된 2차분류값이 글 수정하기시에 2차분류값이 선택되어있게 할 수는 없나요
2단분류