컴퓨터이야기/JQuery 셀렉트리스트박스 jquery 이용 by 변화지시자 2011. 4. 11. 반응형 셀렉트 리스트 박스에서 jquery를 이용한 추가와 삭제 위아래 이동 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="http://code.jquery.com/jquery-1.5.js"></script> </head> <body> <form name="form1" method="post" action=""> <p> <select name="select_box1" size="12" id="select_box1" style="width:200px;"> <option value="1-1">1-1</option> <option value="1-2">1-2</option> <option value="1-3">1-3</option> <option value="2-1">2-1</option> <option value="2-2">2-2</option> <option value="2-3">2-3</option> <option value="3-1">3-1</option> <option value="3-2">3-2</option> <option value="3-3">3-3</option> <option value="4-1">4-1</option> <option value="4-2">4-2</option> <option value="4-3">4-3</option> </select> </p> <p><input type="text" name="text1" id="text1" /> <input name="add" type="button" id="add" value="add"></p> <p> <input type="submit" name="Submit" value="Submit"> <input name="▲" type="button" id="up" value="▲"> <input name="▼" type="button" id="down" value="▼"> <input name="del" type="button" id="del" value="del"> </p> </form> <SCRIPT LANGUAGE="JavaScript"> <!-- $('#select_box1').click().change(function() { selValue = $("#select_box1 option:selected").val(); //선택된 값의 value selText = $("#select_box1 option:selected").text(); //선택된 값의 Text selIndex = $("#select_box1 option").index($("#select_box1 option:selected")); //선택된 값의 index selBox = $("#select_box1"); selOption = selBox.attr("options"); }); /* $('#up').click(function() { var selValue = $("#select_box option:selected").val(); //선택된 값의 value var selText=$("#select_box option:selected").text(); //선택된 값의 Text var selIndex = $("#select_box option").index($("#select_box option:selected")); //선택된 값의 index alert(selIndex); // $("#selectBox option:eq("+selIndex-1+")").replaceWith("<option value='"+selValue+"'>"+selText+"</option>"); $('#selectBox').append(new Option('Foo', 'foo', true, true)); // $("#selectBox option:eq("+selIndex+")").replaceWith("<option value='"+selValue-1+"'>"+selText-1+"</option>"); }) */ $('#up').click(function() { /* var newOptions = { 'red' : 'Red', 'blue' : 'Blue', 'green' : 'Green', 'yellow' : 'Yellow' }; /* $("option", selBox).remove(); $.each(newOptions, function(val, text) { selOption[selOption.length] = new Option(text, val); }); */ $('#select_box1').click() //아래의 변수를 함수로 만들어서 호출 /* var selValue = $("#select_box1 option:selected").val(); //선택된 값의 value var selText=$("#select_box1 option:selected").text(); //선택된 값의 Text var selIndex = $("#select_box1 option").index($("#select_box1 option:selected")); //선택된 값의 index var selBox = $("#select_box1"); var selOption = selBox.attr("options"); */ // preIndex=selIndex-1; if(selIndex==-1){ alert("선택한 메뉴가 없습니다."); return; }else if(selIndex==0){ alert("최상위 메뉴를 선택하셨습니다."); return; }else{ /* temp=a; a=b; b=temp; tempValue = $("#select_box1 option:eq("+preIndex+")").val() tempText = $("#select_box1 option:eq("+preIndex+")").text() $("#select_box1 option:eq("+preIndex+")").val(selValue)// 한칸위에는 현재 선택한 값을 적용 $("#select_box1 option:eq("+preIndex+")").text(selText)// 한칸위에는 현재 선택한 글자를 적용 $("#select_box1 option:eq("+selIndex+")").val(tempValue)// 현재 선택한 값에는 한칸위에 값을 입력 $("#select_box1 option:eq("+selIndex+")").text(tempText)// 현재 선택한 글자는 한칸위에 글자를 입력 $("#select_box1 option:eq("+preIndex+")").attr("selected", "selected");//한칸 위에 것을 선택한 것처럼 표시 */ //위에 문장을 jquery로 더욱 간단하게 $("#select_box1 option:eq("+selIndex+")").remove(); $("#select_box1 option:eq("+(selIndex-1)+")").before("<option value='"+selValue+"'>"+selText+"</option>"); $("#select_box1").val(selValue); } }); $('#down').click(function() { $('#select_box1').click() //아래의 변수를 함수로 만들어서 호출 /* var selValue = $("#select_box1 option:selected").val(); //선택된 값의 value var selText=$("#select_box1 option:selected").text(); //선택된 값의 Text var selIndex = $("#select_box1 option").index($("#select_box1 option:selected")); //선택된 값의 index var selBox = $("#select_box1"); var selOption = selBox.attr("options"); */ // var nextIndex = selIndex+1; if(selIndex==-1){ alert("선택한 메뉴가 없습니다."); return; }else if($("#select_box1 option").size()==selIndex+1){ alert("최하위 메뉴를 선택하셨습니다."); return; }else{ $("#select_box1 option:eq("+selIndex+")").remove(); $("#select_box1 option:eq("+selIndex+")").after("<option value='"+selValue+"'>"+selText+"</option>"); $("#select_box1").val(selValue); } }); $('#add').click(function() { $('#select_box1').click() //아래의 변수를 함수로 만들어서 호출 /* var selValue = $("#select_box1 option:selected").val(); //선택된 값의 value var selText=$("#select_box1 option:selected").text(); //선택된 값의 Text var selIndex = $("#select_box1 option").index($("#select_box1 option:selected")); //선택된 값의 index var selBox = $("#select_box1"); //셀렉트 박스 var selOption = selBox.attr("options"); // 셀렉트 박스의 리스트개체들 */ text1=$("#text1").val().replace(/\s/g,""); //앞,뒤,중간 모든 공백 없앰 if(text1.length>0){ $("#select_box1").append("<option value='"+text1+"'>"+text1+"</option>"); }else{ alert("선택이 잘못 되었습니다."); return; } }); $('#del').click(function() { $('#select_box1').click() //아래의 변수를 함수로 만들어서 호출 /* var selValue = $("#select_box1 option:selected").val(); //선택된 값의 value var selText=$("#select_box1 option:selected").text(); //선택된 값의 Text var selIndex = $("#select_box1 option").index($("#select_box1 option:selected")); //선택된 값의 index var selBox = $("#select_box1"); //셀렉트 박스 var selOption = selBox.attr("options"); // 셀렉트 박스의 리스트개체들 */ msg="하위 메뉴도 자동 삭제 됩니다. 삭제하시겠습니까?" if(selIndex>=0&&confirm(msg)){ $("#select_box1 option:eq("+selIndex+")").remove(); }else{ alert("선택이 잘못 되었습니다."); return; } }); //--> </SCRIPT> </body> </html> select3.htm 리스트 박스의 값을 asp로 구분자(@) 끼어 넣고 넘기기 select3v2.asp select3v2.htm 수정 하기 포함 select3v3.asp select3v3.htm 참조사이트 : http://www.electrictoolbox.com/jquery-add-option-select-jquery/ 공유하기 게시글 관리 Change Agent(변화변혁 주도자) 저작자표시 관련글 전체 선택 Jquery alert, comfirm 창 만들기 Jquery 와 eval 함수를 이용한 2단 리스트 박스 인풋박스의 값을 셀렉트 박스로