2013년 8월 29일 목요일

[jQuery] selectbox 참고



  웹 프로그램을 개발중 jQuery의 selectbox에 대한 내용을 항상 검색하게 됩니다. 기억력이 나빠서 잘 외워지지도 않고... 그래서! 매번 검색할 때마다 찾게되는 selectbox의 주요 기능들을 작성해 봅니다. 

아래 코드들을 응용하여 개발환경에 맞게 커스터마이징하면 되겠습니다.

▶ jQuery로 선택된 값 읽기
$("#select_box option:selected").val();
$("select[name=selectbox]").val();



▶ jQuery로 선택된 내용 읽기
$("#selectbox option:selected").text();


▶ 선택된 위치
var index = $("#test option").index($("#test option:selected"));



▶ 셀렉트 박스 옵션에 추가(기존 옵션 뒤쪽으로 추가)
$("#myselect").append("<option value='1'>Apples</option>");
$("#myselect").append("<option value='2'>After Apples</option>");



▶ 옵션 시작 부분(맨 앞에) 추가
$("#myselect").prepend("<option value='0'>Before Apples</option>");



▶ 옵션값을 새롭게 정의
$("#myselect").html("<option value='1'>Some oranges</option><option value='2'>More Oranges</option><option value='3'>Even more oranges</option>");



▶ 옵션값의 인덱스 번호를 변경
$("#myselect option:eq(1)").replaceWith("<option value='2'>Some apples</option>");
$("#myselect option:eq(2)").replaceWith("<option value='3'>Some bananas</option>");



▶ 2번 인덱스의 값을 선택된 상태로 변경
$("#myselect option:eq(2)").attr("selected", "selected");



▶ 텍스트 내용으로 선택된 상태로 변경
$("#myselect").val("Some oranges").attr("selected", "selected");



▶ 선택된 옵션의 값을 변경
$("#myselect").val("2");



▶ index번호가 0인것을 제거
$("#myselect option:eq(0)").remove();



▶ 첫번째 옵션 엘리먼트를 제거
$("#myselect option:first").remove();



▶ 마지막 옵션 엘리먼트를 제거
$("#myselect option:last").remove();



▶ 선택된 텍스트 알림으로 보이기
alert($("#myselect option:selected").text());



▶ 선택된 값 알림으로 보이기
alert($("#myselect option:selected").val());



▶ 선택된 옵션의 인덱스 번호 보이기
alert($("#myselect option").index($("#myselect option:selected")));



▶ Alternative way to get the selected item
alert($("#myselect option:selected").prevAll().size());



▶ 0번 인덱스 다음으로 옵션을 추가
$("#myselect option:eq(0)").after("<option value='4'>Some pears</option>");



▶ 3번 인덱스 이전에 옵션을 추가
$("#myselect option:eq(3)").before("<option value='5'>Some apricots</option>");



▶ select 박스의 값이 변경되었을 때 알링으로 값과 텍스트 보이기
$("#myselect").change(function() {
   alert($(this).val());
   alert($(this).children("option:selected").text());
});






댓글 없음:

댓글 쓰기