멀티 카페고리관련하여 문의좀 드립니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

멀티 카페고리관련하여 문의좀 드립니다. 정보

멀티 카페고리관련하여 문의좀 드립니다.

본문

일전에 질문을 올렸는데, 아직도 해결을 못하여 다시한번 올려봅니다.

http://sir.co.kr/bbs/board.php?bo_table=g4_plugin&wr_id=13175&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%EC%B9%B4%ED%85%8C%EA%B3%A0%EB%A6%AC

이온프리님의 계층형 카테고리를 사용중인데요..

카테고리를 2개 또는 3개를 선택할수 있게 하려고합니다.

원하는 형태는 이미지로 첨부했습니다.

저모양대로 셀렉트가 작동만되면 차후 저장하거나 이런부분은 할수 있을것같은데,

저렇게 3개를 뿌리는거 자체가 너무 힘들어서 조언좀 얹고자합니다.

자바스크립트지식이 아주 짧거든요..ㅠㅠ

해당부분의 소스도 올려봅니다.


function write_input_select($ca_text)
{
global $bo_table,$__mc,$category_option;

if(is_object($__mc) && $__mc->bo_table==$bo_table){
}else{
echo '<select name=ca_name required itemname="분류"><option value="">선택하세요'.$category_option.'</select> ';
return;
}
$max = $__mc->getMaxDepth();
echo '
<script type="text/javascript">
var next_mc_obj = null;
var mc_select = function(obj,i)
{
var ajax = document.getElementById("opt-category-ajax");
var el = document.getElementById("ca-text");
var old_el_value = el.value;
var old_el_arr = (old_el_value || "").split(/-/);
var new_el_value = obj.value;
var new_el_arr = (new_el_value || "").split(/-/);
if(old_el_arr.length>new_el_arr.length){
var _el;
for(var j=i;j<' . ($max + 1) . ';j++)
{
_el  = document.getElementById("mc_obj_"+(j+1));
if(_el){
_el.length=1;
_el.disabled="disabled";
}
}
}

if(obj.value=="" && old_el_value){
if(i>2) {
el.value = (old_el_value.split(/-/).slice(0,i-1).join("-"));
}else{
el.value = "";
}
}else{
el.value = obj.value;
}
if(obj.value==""){
return;
}
next_mc_obj = document.getElementById("mc_obj_"+(i+1));
if(next_mc_obj){
next_mc_obj.length=1;
if(document.getElementById("__opt__tmp__ajax")){
document.getElementsByTagName("head")[0].removeChild(document.getElementById("__opt__tmp__ajax"));
}
var _ajax = document.createElement("script");
_ajax.id="__opt__tmp__ajax";
_ajax.type = "text/javascript";
document.getElementsByTagName("head")[0].appendChild(_ajax);
_ajax.src = "/board/skin/multi_category/ajax.php?mode=list&bo_table=' . $bo_table . '&ca_name="+el.value+"&dummy="+(new Date().getTime() / 1000);
}else{
next_mc_obj = null;
}
}
</script>
<script id="opt-category-ajax" type="text/javascript"></script>
<input type="hidden" name="ca_name" id="ca-text" value="' . $ca_text . '"/>
';

$arr = explode('-', $ca_text);
$depth = count($arr);
for ($i = 2; $i <= $max + 1; $i++) {
$rows = array();
$disabled = '';

if ($i <= $depth + 1) {
$row = $__mc->get(join('-', array_slice($arr, 0, $i - 1)), 'ca_text');
$rows = $__mc->getChilds($row);
}

if (empty($rows)) {
$disabled = ' disabled="disabled"';
}
$check_txt = join('-', array_slice($arr, 0, $i));




echo '<select itemname=카테고리 onchange="mc_select(this,' . $i . ');"' . $disabled . ' id="mc_obj_' . $i . '">';
echo '<option value="">선택해 주세요</option>';

foreach ($rows as $row) {
$selected = $row->ca_text == $check_txt ? ' selected="selected"' : '';
echo '<option value="' . $row->ca_text . '"' . $selected . '>' . stripslashes($row->title) . '</option>';
}
echo '</select> ';
}
}

댓글 전체

전체 66,558 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT