Jquery의 선택자는 매우 강력합니다. select의 옵션 개체를 추가할 때 오랜 시간 동안 검색하다가
코드 복사를 발견했습니다. 코드는 다음과 같습니다:
/**//*
파일명: jquery.liu.select.js
기능 설명: 이 js 파일은 주로 select 작업을 구현하는 jquery 클래스 라이브러리의 플러그인입니다.
작성자: John. 리우
작성일 : 2008/03/12
*/
//선택 항목 수 가져오기
jQuery.fn.size = function()
{
return jQuery (this).get(0).options.length;
}
//선택한 항목의 인덱스 가져오기
jQuery.fn.getSelectedIndex = function()
{
return jQuery(this ).get(0).selectedIndex;
}
//현재 선택한 항목의 텍스트 가져오기
jQuery.fn.getSelectedText = function()
{
if(this.size() == 0)
{
return "드롭다운 상자에 옵션 없음"
}
else
{
var index = this .getSelectedIndex();
return jQuery( this).get(0).options[index].text;
}
}
//현재 선택한 항목의 값 가져오기
jQuery.fn.getSelectedValue = function()
{
if(this.size() == 0)
{
return "드롭다운 상자에 선택한 값이 없습니다"; }
else
{
return jQuery(this ).val();
}
}
//select에 값이 있는 항목이 선택되도록 설정
jQuery. fn.setSelectedValue = function(value)
{
jQuery (this).get(0).value = value;
}
//select에 텍스트가 있는 첫 번째 항목이 선택되도록 설정
jQuery.fn.setSelectedText = function(text)
{
var isExist = false;
var count = this.size()
for(var i=0;i{
if(jQuery(this) .get(0).options[i].text == text)
{
jQuery(this).get(0).options[ i].selected = true;
isExist = true;
break;
}
}
if(!isExist)
{
alert("이 항목은 존재하지 않습니다. 드롭다운 상자에서");
}
}
//선택한 인덱스 항목 설정
jQuery.fn.setSelectedIndex = function(index)
{
var count = this.size();
if(index >= count || index < 0)
{
alert("선택한 항목 인덱스가 범위를 벗어났습니다.")
}
else
{
jQuery(this).get(0).selectedIndex = index ;
}
}
//선택 항목에 값이 있는 항목이 있는지 확인
jQuery .fn.isExistItem = function(value)
{
var isExist = false
var count = this.size()
for(var i=0;i{
if(jQuery(this).get(0).options[i ].value == value)
{
isExist =
break; >}
return isExist;
}
//하나의 항목을 선택하려면 추가하세요. 표시되는 내용은 텍스트이고 값은 값입니다. 항목 값이 이미 있으면
jQuery.fn이 표시됩니다. .addOption = function(text,value)
{
if(this.isExistItem(value ))
{
alert("추가할 항목의 값이 이미 존재합니다."); >}
else
{
jQuery(this).get(0).options.add (new Option(text,value))
}
}
//삭제 선택 항목에 값이 있는 항목이 없으면
jQuery.fn.removeItem = function (value)
{
if(this.isExistItem(value))
메시지가 표시됩니다. {
var count = this.size();
for(var i=0;i{
if(jQuery(this).get(0).options[ i].value == value)
{
jQuery(this).get(0).remove(i )
break
}
}
}
else
{
alert("삭제할 항목이 존재하지 않습니다!")
}
}
//select
jQuery에서 지정된 인덱스를 가진 항목을 삭제합니다. fn.removeIndex = function(index)
{
var count = this.size()
if(index > = count || index < 0)
{
alert( "삭제할 항목의 인덱스가 범위를 벗어났습니다.")
}
else
{
jQuery(this).get( 0).remove(index)
}
}
//select에서 선택한 항목 제거
jQuery.fn.removeSelected = function()
{
var index = this.getSelectedIndex()
this.removeIndex( index);
}
//select의 모든 항목 지우기
jQuery.fn.clearAll = function()
{
jQuery(this).get(0).options.length = 0
}