다중셀렉트 처리 문의드립니다. 채택완료
안녕하세요~!
정말 쌩초짜가 끙끙대며 혼자 실무를 이어나가는 상황에서,
여기 계신 개발자 분들이 얼마나 대단하신 분들인지 새삼 느끼고 있습니다.
아무리 혼자 머리를 굴려보고 검색을 해봐도 원하는 해답을 찾을 수 없어 이렇게 질문을 남기게 됐습니다.
많은 고수분들의 소중한 답변을 부탁드려봅니다.
==============================================================================
우선 상단에 아래와 같은 형태로 string 값을 쪼개어 구분을 주었습니다.
그 다음 본문에서 아래와 같이 처리합니다.
선택하세요 선택하세요 선택하세요
여기서 질문 드리고자 합니다.
코드를 보시면 아시겠지만,
여러개의 셀렉트박스가 있는데, 첫번째 박스를 선택하면 두번째 박스의 disabled 가 false 되고
두번째 박스를 선택하면 세번째 박스의 disabled 가 false 되게 하였습니다. (jQuery로 구현하였습니다)
여기서 문제가 생기는데,
첫번째 박스에서 하나의 <option> 값을 선택하면,
두번째 박스가 enabled 되면서 첫번째 박스에서 선택한 <option> 값을 '제외한' 나머지 값들을 노출하고 싶습니다.
마찬가지로, 첫번째와 두번째 박스의 값이 선택되면
세번째 박스는 앞에서 선택한 <option> 값을 '제외한' 나머지가 노출되게 되겠죠~
단순하게 미리 <option> 들이 지정되어 있었다면,
선택하는 경우의 수 마다 간단하게 이벤트처리를 할 수 있었겠지만,
사용자에게서 사전에 입력받은 값을 for문으로 뿌려주는 저런 형태에서는
어떻게 해야할 지 여러가지로 시도를 해봤지만 번번히 실패하더군요..ㅠㅠ
처음에는 별 것 아니라고 생각하고 덤볐다가 여기서 더 이상 진도가 안나가는 사태가 발생했습니다.. ;;
쌩초짜인 저의 실력 부족인 탓입니다.
고수분들의 소중한 답변을 기다리겠습니다.
감사합니다.
답변 1개
$(function() {
$("select[name^='gmarket']").on("change", function(i) {
var nxt = $(this).index() + 2;
var opt = $("option:gt(0)", $(this)).not(":selected").clone();
$("option:gt(0)", $(this).nextAll()).remove();
$("select[name='gmarket" + nxt + "']").attr("disabled", false).append(opt);
});
});
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
왜 제가 적용하면 안되는걸까요... 하하 ㅠㅠㅠ
일단은 남겨주시는 코드를 공부해서 어떻게든 적용해봐야겠네요~ㅠㅠ
소중한 답변 감사드립니다!