Latest web development tutorials

jQuery를 UI의 예 - 자동 (자동 완성)

사용자가 신속하게 찾을 프리셋 값의리스트로부터 선택할 수 있도록, 검색, 필터 값을 사용자 입력에 기초하여.

자동 완성 구성 요소에 대한 자세한 내용은 API 문서를 참조 자동 부재 (자동 완성 위젯을) .

이 섹션을 사용하여 다운로드를 search.php .

기본 기능

당신이 입력 필드, 자동으로 수행하는 경우 (자동 완성) 회원들은 조언을 제공합니다. 이 예에서, 권장되는 옵션 프로그래밍 언어가 제공되며, 사용자가 입력 할 수 있습니다 "JA는"그것을 시도, 당신은 자바 나 자바 스크립트를 얻을 수 있습니다.

데이터 소스는 소스 선택은 멤버가 사용할 사용하여 간단한 자바 스크립트 배열이다.

<! DOCTYPE html로>
<HTML LANG = "EN">
<헤드>
  <메타 문자 집합 = "UTF-8">
  <제목> jQuery를 UI 자동 완성 기능 (자동 완성) - 기본 기능 </ 제목>
  <링크 REL = "스타일 시트"HREF = "// code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <스크립트 SRC = "// code.jquery.com/jquery-1.9.1.js"> </ script>
  <스크립트 SRC = "// code.jquery.com/ui/1.10.4/jquery-ui.js"> </ script>
  <링크 REL = "스타일 시트"HREF = "http://jqueryui.com/resources/demos/style.css">
  <스크립트>
  $ (함수 () {
    var에 availableTags의 = [
      "액션"
      "AppleScript로"
      "ASP를"
      "BASIC"
      "C",
      "C ++",
      "Clojure의"
      "COBOL"
      "ColdFusion에서"
      "얼랑"
      "포트란"
      "멋져요",
      "하스켈"
      "자바"
      "자바 스크립트"
      "리스프"
      "펄"
      "PHP"
      "파이썬"
      "루비",
      "스칼라"
      "계획"
    ]
    $ ( "#tags") .autocomplete ({
      출처 : availableTags
    });
  });
  </ 스크립트>
</ 헤드>
<바디>
 
<사업부 클래스 = "UI 위젯">
  <= "태그"에 대한 라벨> 태그 : </ 라벨>
  <입력 한 id = "태그">
</ DIV>
 
 
</ BODY>
</ HTML>

악센트

텍스트 필드에 악센트가 포함 된 문자가 일치하지 않는 경우에도 결과를 사용자 정의 소스 옵션을 사용하여 자동 완성 필드, 악센트 문자 항목을 개발하였습니다. 텍스트 필드에 악센트 문자를 입력하는 경우, 그것은 비 스트레스 항목의 결과를 표시하지 않습니다.

전용 "요른"를 참조하십시오 것 "조"를 입력 한 후, 당신은 "존"과 "요른"를 참조하십시오 "조"를 입력하십시오.

<! DOCTYPE html로>
<HTML LANG = "EN">
<헤드>
  <메타 문자 집합 = "UTF-8">
  <제목> jQuery를 UI 자동 완성 기능 (자동 완성) - 악센트 </ 제목>
  <링크 REL = "스타일 시트"HREF = "// code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <스크립트 SRC = "// code.jquery.com/jquery-1.9.1.js"> </ script>
  <스크립트 SRC = "// code.jquery.com/ui/1.10.4/jquery-ui.js"> </ script>
  <링크 REL = "스타일 시트"HREF = "http://jqueryui.com/resources/demos/style.css">
  <스크립트>
  $ (함수 () {
    var에 이름 = [ "요른 Zaefferer", "스콧 곤살레스", "존 레식"];
 
    var에 accentMap = {
      "A": "A",
      "O": "O"
    };
    var에 정상화 = 기능 (용어) {
      var에 RET = "";
      대한 (var에 나는 = 0; i가 term.length을 <; 내가 ++) {
        RET + = accentMap [term.charAt (I)] || term.charAt (I);
      }
      RET를 반환;
    };
 
    $ ( "#developer") .autocomplete ({
      출처 : 기능 (요청, 응답) {
        var에 정규 = 새로운 정규식 ($ .ui.autocomplete.escapeRegex (request.term), "I");
        응답 ($의 .grep (이름, 함수 (값) {
          값 = value.label || value.value || 값;
          matcher.test (값)을 반환 || matcher.test은 ((정상화 값));
        }));
      }
    });
  });
  </ 스크립트>
</ 헤드>
<바디>
 
<사업부 클래스 = "UI 위젯">
  <양식>
  < "개발자"= 대한 라벨> 개발자 : </ 라벨>
  <입력 한 id = "개발자">
  </ FORM>
</ DIV>
 
 
</ BODY>
</ HTML>

분류

검색 결과 분류. "a"또는 "n"을 입력하십시오.

<! DOCTYPE html로>
<HTML LANG = "EN">
<헤드>
  <메타 문자 집합 = "UTF-8">
  <제목> jQuery를 UI 자동 완성 기능 (자동 완성) - 구분 </ 제목>
  <링크 REL = "스타일 시트"HREF = "// code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <스크립트 SRC = "// code.jquery.com/jquery-1.9.1.js"> </ script>
  <스크립트 SRC = "// code.jquery.com/ui/1.10.4/jquery-ui.js"> </ script>
  <링크 REL = "스타일 시트"HREF = "http://jqueryui.com/resources/demos/style.css">
  <스타일>
  .ui-자동 완성 범주 {
    글꼴 - 무게 : 굵게;
    패딩 : .2em .4em;
    마진 : .8em 0 .2em;
    라인 - 높이 : 1.5;
  }
  </ 스타일>
  <스크립트>
  $ 된 .widget ( "Custom.catcomplete", $ .ui.autocomplete, {
    _renderMenu : 기능 (UL, 항목) {
      이 = VAR,
        currentCategory = "";
      $의 .each (항목, 기능 (인덱스 항목) {
        {(currentCategory! item.category =)의 경우
          ul.append ( "<리 클래스 = 'UI - 자동 완성 - 카테고리'>"+ item.category + "</ 리>");
          currentCategory = item.category;
        }
        that._renderItemData (UL, 항목);
      });
    }
  });
  </ 스크립트>
  <스크립트>
  $ (함수 () {
    VAR 데이터 =
      {레이블 : "앤더스"카테고리 : ""},
      {레이블 : "안드레아스"카테고리 : ""},
      {레이블 : "안탈"카테고리 : ""},
      {레이블 : "annhhx10"카테고리 : "제품"},
      {레이블 : "annk의 K12", 카테고리 : "제품"},
      {레이블 : "annttop의 C13"카테고리 : "제품"},
      {레이블 : "앤더스 앤더슨"카테고리 : "사람들"},
      {레이블 : "안드레아스 안데르손"카테고리 : "사람들"},
      {레이블 : "안드레아스 존슨"카테고리 : "사람들"}
    ]
 
    $ ( "#search") .catcomplete ({
      지연 : 0,
      출처 : 데이터
    });
  });
  </ 스크립트>
</ 헤드>
<바디>
 
<= "검색"에 대한 라벨> 검색 </ 라벨>
<입력 한 id = "검색">
 
 
</ BODY>
</ HTML>

콤보 상자 (콤보 상자)

자동 완성 및 버튼에 의해 만들어진 사용자 지정 구성 요소입니다. 당신은 어떤 문자가 입력 내용 필터링 결과에 따라 얻을 입력하거나 버튼을 사용하여 전체 목록에서 선택할 수 있습니다.

입력은 소스를 사용자 정의 할 수있는 자동 완성 옵션을 통과 한, 기존의 선택 요소에서 읽습니다.

이 지원되지 않는 완벽한 구성원이 아닙니다. 여기에 자동 완성 사용자 정의 기능을 설명하는 것입니다. 이 부분은 작품에 대한 자세한 내용은 jQuery를 기사를 보려면 여기를 클릭하십시오.

<! DOCTYPE html로>
<HTML LANG = "EN">
<헤드>
  <메타 문자 집합 = "UTF-8">
  <제목> jQuery를 UI 자동 완성 기능 (자동 완성) - 콤보 상자 (콤보) </ 제목>
  <링크 REL = "스타일 시트"HREF = "// code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <스크립트 SRC = "// code.jquery.com/jquery-1.9.1.js"> </ script>
  <스크립트 SRC = "// code.jquery.com/ui/1.10.4/jquery-ui.js"> </ script>
  <링크 REL = "스타일 시트"HREF = "http://jqueryui.com/resources/demos/style.css">
  <스타일>
  .custom - 콤보 {
    위치 : 상대;
    디스플레이 : 인라인 블록;
  }
  .custom - 콤보 - 토글 {
    위치 : 절대;
    상단 : 0;
    바닥 : 0;
    마진 왼쪽 : -1px;
    패딩 : 0;
    / * 지원 : IE7 * /
    * 높이 : 1.7em;
    * 위 : 0.1em;
  }
  .custom - 콤보 입력 {
    여백 : 0;
    패딩 : 0.3em;
  }
  </ 스타일>
  <스크립트>
  (함수 ($) {
    $의 된 .widget ( "Custom.combobox", {
      _create : 함수 () {
        this.wrapper = $ ( "<SPAN>")
          .addClass ( "맞춤 콤보 상자")
          .insertAfter (this.element);
 
        this.element.hide ();
        this._createAutocomplete ();
        this._createShowAllButton ();
      },
 
      _createAutocomplete : 함수 () {
        ( "선택"), VAR 선택 =의 this.element.children
          값 = selected.val () selected.text () : "";?
 
        this.input = $ ( "<입력>")
          .appendTo (this.wrapper)
          .val (값)
          .attr ( "제목", "")
          .addClass ( "맞춤 콤보 입력 UI 위젯 UI 위젯 콘텐츠 UI 상태 기본 UI 코너에서 왼쪽")
          .autocomplete ({
            지연 : 0,
            MINLENGTH : 0,
            소스 : $ .proxy (이, "_source")
          })
          .tooltip ({
            tooltipClass "UI 상태 강조 표시"
          });
 
        this._on (this.input, {
          autocompleteselect : 함수 (이벤트, UI) {
            ui.item.option.selected = TRUE;
            this._trigger은 ({, 이벤트 "를 선택"
              항목 : ui.item.option
            });
          },
 
          autocompletechange "_removeIfInvalid"
        });
      },
 
      _createShowAllButton : 함수 () {
        var에 입력 = this.input,
          wasOpen = 거짓;
 
        $ ( "<A>")
          .attr ( "tabIndex를", -1)
          .attr ( "제목", "보기 모든 항목")
          .tooltip ()
          .appendTo (this.wrapper)
          .button ({
            아이콘 : {
              주 : "UI-아이콘 삼각형-1의"
            },
            텍스트 : 거짓
          })
          .removeClass ( "UI 코너 모두")
          .addClass ( "맞춤 콤보 - 토글 UI 코너 오른쪽")
          .mousedown (함수 () {
            wasOpen = input.autocomplete ( "위젯") ( "표시") 네 질병;
          })
          .click (함수 () {
            input.focus ();
 
            // 당신은 닫혀 볼 경우 경우 (wasOpen) {
              반환;
            }
 
            // 모든 결과 input.autocomplete ( "", "검색")를 표시, 검색의 값으로 빈 문자열을 전달;
          });
      },
 
      _source : 기능 (요청, 응답) {
        var에 정규 = 새로운 정규식 ($ .ui.autocomplete.escapeRegex (request.term), "I");
        응답 (this.element.children ( "옵션") .MAP (함수 () {
          변수 텍스트 = $ (이)는 .text ();
          경우 (this.value && (! request.term || matcher.test (텍스트)))
            {반환
              레이블 텍스트,
              값 : 텍스트,
              옵션이
            };
        }));
      },
 
      _removeIfInvalid : 함수 (이벤트, UI) {
 
        {항목을 선택 // 그리고 만약 다른 작업 (ui.item)를 수행하지 않습니다
          반환;
        }
 
        // 일치 검색 (대소 문자 구분)
        this.input.val VAR 값 = ()
          valueLowerCase = value.toLowerCase ()
          유효 = 거짓;
        this.element.children ( "옵션") .each (함수 () {
          경우 ($ (이)는 .text ().와 toLowerCase () === valueLowerCase) {
            this.selected = 유효 = TRUE;
            false를 반환;
          }
        });
 
        일치하는 항목이 발견 // 다른 작업을하는 경우 (유효) {
          반환;
        }
 
        // 잘못된 값 this.input 제거
          .val ( "")
          .attr ( "제목", 값은 + "항목을 일치하지 않습니다")
          .tooltip ( "열");
        ( "") this.element.val;
        () {(기능을 this._delay
          this.input.tooltip ( "가까운") .attr ( "제목", "");
        }, 2500);
        this.input.data ( "UI-자동 완성") .term = "";
      },
 
      _destroy : 함수 () {
        this.wrapper.remove ();
        this.element.show ();
      }
    });
  }) (JQuery와);
 
  $ (함수 () {
    $ ( "#combobox") .combobox ();
    $ ( "#toggle") .click (함수 () {
      $ ( "#combobox") .toggle ();
    });
  });
  </ 스크립트>
</ 헤드>
<바디>
 
<사업부 클래스 = "UI 위젯">
  <레이블> 좋아하는 프로그래밍 언어 : </ 라벨>
  <선택 한 id = "콤보">
    <옵션 값 = ""> 선택 ... </ 옵션>
    <옵션 값 = "액션"> 액션 </ 옵션>
    <옵션 값 = "AppleScript로"> AppleScript로 </ 옵션>
    <옵션 값 = "ASP를">의 ASP </ 옵션>
    <옵션 값 = "BASIC"> 기본 </ 옵션>
    <옵션 값 = "C"> C </ 옵션>
    <옵션 값 = "C ++"> C ++ </ 옵션>
    <옵션 값 = "Clojure의"> Clojure의 </ 옵션>
    <옵션 값 = "COBOL"> COBOL </ 옵션>
    <옵션 값 = "ColdFusion에서"> ColdFusion에서 </ 옵션>
    <옵션 값 = "얼랑"> 얼랑 </ 옵션>
    <옵션 값 = "포트란"> 포트란 </ 옵션>
    <옵션 값 = "멋져요"> 그루비 </ 옵션>
    <옵션 값 = "하스켈"> 하스켈 </ 옵션>
    <옵션 값 = "자바"> 자바 </ 옵션>
    <옵션 값 = "자바 스크립트"> 자바 스크립트 </ 옵션>
    <옵션 값 = "리스프"> 리스프 </ 옵션>
    <옵션 값 = "펄"> 펄 </ 옵션>
    <옵션 값 = "PHP"> PHP </ 옵션>
    <옵션 값 = "파이썬"> 파이썬 </ 옵션>
    <옵션 값 = "루비"> 루비 </ 옵션>
    <옵션 값 = "스칼라"> 스칼라 </ 옵션>
    <옵션 값 = "제도"> 계획 </ 옵션>
  </ 선택>
</ DIV>
<= "전환"버튼 ID> 디스플레이 기반 선택 상자 </ 버튼>
 
 
</ BODY>
</ HTML>

사용자 정의 데이터 및 디스플레이

당신은 사용자 정의 데이터 형식을 사용하고, 단순히 기본 동작을 무시하고 데이터를 표시하도록 선택할 초점을 맞춤으로써 할 수 있습니다.

"J"를 입력 시도하거나 아래쪽 화살표 키를 누르면, 당신은 항목의 목록을 얻을 수 있습니다.

<! DOCTYPE html로>
<HTML LANG = "EN">
<헤드>
  <메타 문자 집합 = "UTF-8">
  <제목> jQuery를 UI 자동 완성 기능 (자동 완성) - 사용자 정의 데이터 및 표시 </ 제목>
  <링크 REL = "스타일 시트"HREF = "// code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <스크립트 SRC = "// code.jquery.com/jquery-1.9.1.js"> </ script>
  <스크립트 SRC = "// code.jquery.com/ui/1.10.4/jquery-ui.js"> </ script>
  <링크 REL = "스타일 시트"HREF = "http://jqueryui.com/resources/demos/style.css">
  <스타일>
  # 프로젝트 레이블 {
    디스플레이 : 블록;
    글꼴 - 무게 : 굵게;
    마진 - 하단 : 1em;
  }
  # 프로젝트-아이콘 {
    플로트 : 왼쪽;
    높이 : 32px;
    폭 : 32px;
  }
  # 프로젝트-설명 {
    여백 : 0;
    패딩 : 0;
  }
  </ 스타일>
  <스크립트>
  $ (함수 () {
    VAR 프로젝트 = [
      {
        값 : "JQuery와"
        레이블 : "jQuery를"
        내용 : "쓰기 이하,보다, 자바 스크립트 라이브러리을"
        아이콘 : "jquery_32x32.png"
      },
      {
        값 : "JQuery와 - UI를"
        레이블 : "jQuery를 UI"
        내용 : "jQuery를 공식 사용자 인터페이스 라이브러리"
        아이콘 : "jqueryui_32x32.png"
      },
      {
        값 : "sizzlejs"
        레이블 : "지글 지글 JS"
        내용 : "순수 자바 스크립트 CSS 선택기 엔진"
        아이콘 : "sizzlejs_32x32.png"
      }
    ]
 
    $ ( "#project") .autocomplete ({
      MINLENGTH : 0,
      출처 : 프로젝트,
      초점 : 함수 (이벤트, UI)를 {
        $ ( "#project") .val (Ui.item.label);
        false를 반환;
      },
      선택 기능 (이벤트, UI)를 {
        $ ( "#project") .val (Ui.item.label);
        $ ( "# 프로젝트-ID") .val (ui.item.value);
        $ ( "# 프로젝트-설명") .html 중에서 (ui.item.desc);
        $ ( "# 프로젝트-아이콘") .attr ( "SRC", "이미지 /"+ ui.item.icon);
 
        false를 반환;
      }
    })
    .DATA ( "UI-자동 완성") ._ renderItem = 기능 (UL, 항목) {
      $를 반환 ( "<LI>")
        으로 .Append ( "<A>"+ item.label + "로 <br>"+ item.desc + "</a>을")
        .appendTo (UL);
    };
  });
  </ 스크립트>
</ 헤드>
<바디>
 
<사업부 아이디 = "프로젝트 레이블"> 항목 (유형 "J")을 선택합니다 </ DIV>
<IMG 아이디 = "프로젝트 아이콘"SRC = "이미지 / transparent_1x1.png"클래스 = "UI 상태 기본"ALT = "">
<입력 한 id = "프로젝트">
<입력 유형 = "숨겨진"ID = "프로젝트 ID">
<P ID = "프로젝트 설명"> </ P>
 
 
</ BODY>
</ HTML>

여러 값

사용법 : 이러한 "J"와 같은 일부 문자를 입력하면 관련 프로그래밍 언어의 결과를 볼 수 있습니다. 값을 선택하고 문자가 추가 가치를 계속 입력합니다.

이 예는 여러 자동 입력 할 수있는 단일 텍스트 필드의 값을 달성하기 위해 소스 옵션 및 이벤트를 사용하는 방법을 보여줍니다.

<! DOCTYPE html로>
<HTML LANG = "EN">
<헤드>
  <메타 문자 집합 = "UTF-8">
  <제목> jQuery를 UI 자동 완성 기능 (자동 완성) - 여러 개의 값 </ 제목>
  <링크 REL = "스타일 시트"HREF = "// code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <스크립트 SRC = "// code.jquery.com/jquery-1.9.1.js"> </ script>
  <스크립트 SRC = "// code.jquery.com/ui/1.10.4/jquery-ui.js"> </ script>
  <링크 REL = "스타일 시트"HREF = "http://jqueryui.com/resources/demos/style.css">
  <스크립트>
  $ (함수 () {
    var에 availableTags의 = [
      "액션"
      "AppleScript로"
      "ASP를"
      "BASIC"
      "C",
      "C ++",
      "Clojure의"
      "COBOL"
      "ColdFusion에서"
      "얼랑"
      "포트란"
      "멋져요",
      "하스켈"
      "자바"
      "자바 스크립트"
      "리스프"
      "펄"
      "PHP"
      "파이썬"
      "루비",
      "스칼라"
      "계획"
    ]
    기능 분할 (발) {
      val.split를 반환 (/ \ s의 * /);
    }
    기능 extractLast (용어) {
      () .pop 분할 (용어)을 반환;
    }
 
    $ ( "#tags")
      // 당신은 .bind ( "에서 KeyDown", 기능 (이벤트를 텍스트 필드를 떠나지 않고 항목을 선택하면) {
        (event.keyCode === $ .ui.keyCode.TAB 경우 &&
            $ (이) .DATA ( "UI-자동 완성") .menu.active) {
          에서는 event.preventDefault ();
        }
      })
      .autocomplete ({
        MINLENGTH : 0,
        출처 : 기능 (요청, 응답) {
          // 위로 자동 완성,하지만 (마지막 항목 응답 ($의 .ui.autocomplete.filter를 추출
            availableTags, extractLast (request.term)));
        },
        초점 : 함수 () {
          // 방지에 초점 삽입 값이 false를 반환 획득하는 단계;
        },
        선택 기능 (이벤트, UI)를 {
          var에 조건 = 분할 (this.value);
          // () 현재의 입력 terms.pop를 제거;
          // 선택된 옵션 terms.push (ui.item.value)를 추가;
          // + 공간 terms.push ( "")의 말에 쉼표를 추가, 자리 표시 자 추가;
          this.value = terms.join ( ",");
          false를 반환;
        }
      });
  });
  </ 스크립트>
</ 헤드>
<바디>
 
<사업부 클래스 = "UI 위젯">
  프로그래밍 언어 <= "태그"에 대한 라벨> </ 라벨>
  <입력 한 id = "태그"크기 = "50">
</ DIV>
 
 
</ BODY>
</ HTML>

여러 값, 원격

사용법 : 새의 이름을 얻기 위해 적어도 두 개의 문자를 입력합니다. 값을 선택하고 문자가 추가 가치를 계속 입력합니다.

이 예는 여러 자동 입력 할 수있는 단일 텍스트 필드의 값을 달성하기 위해 소스 옵션 및 이벤트를 사용하는 방법을 보여줍니다.

<! DOCTYPE html로>
<HTML LANG = "EN">
<헤드>
  <메타 문자 집합 = "UTF-8">
  <제목> jQuery를 UI 자동 완성 기능 (자동 완성) - 여러 개의 값, 원격 </ 제목>
  <링크 REL = "스타일 시트"HREF = "// code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <스크립트 SRC = "// code.jquery.com/jquery-1.9.1.js"> </ script>
  <스크립트 SRC = "// code.jquery.com/ui/1.10.4/jquery-ui.js"> </ script>
  <링크 REL = "스타일 시트"HREF = "http://jqueryui.com/resources/demos/style.css">
  <스타일>
  .ui-자동 완성 로딩 {
    배경 : 흰색의 URL ( '이미지 / UI-anim_basic_16x16.gif')을 마우스 오른쪽 센터 노 - 반복;
  }
  </ 스타일>
  <스크립트>
  $ (함수 () {
    기능 분할 (발) {
      val.split를 반환 (/ \ s의 * /);
    }
    기능 extractLast (용어) {
      () .pop 분할 (용어)을 반환;
    }
 
    $ ( "#birds")
      // 당신은 .bind ( "에서 KeyDown", 기능 (이벤트를 텍스트 필드를 떠나지 않고 항목을 선택하면) {
        (event.keyCode === $ .ui.keyCode.TAB 경우 &&
            $ (이) .DATA ( "UI-자동 완성") .menu.active) {
          에서는 event.preventDefault ();
        }
      })
      .autocomplete ({
        출처 : 기능 (요청, 응답) {
          $ .getJSON ( "Search.php", {
            용어 : extractLast (request.term)
          }, 응답);
        },
        검색 : 함수 () {
          // 사용자의 최소 길이 VAR 기간 = extractLast (this.value);
          경우 (term.length <2) {
            false를 반환;
          }
        },
        초점 : 함수 () {
          // 방지에 초점 삽입 값이 false를 반환 획득하는 단계;
        },
        선택 기능 (이벤트, UI)를 {
          var에 조건 = 분할 (this.value);
          // () 현재의 입력 terms.pop를 제거;
          // 선택된 옵션 terms.push (ui.item.value)를 추가;
          // + 공간 terms.push ( "")의 말에 쉼표를 추가, 자리 표시 자 추가;
          this.value = terms.join ( ",");
          false를 반환;
        }
      });
  });
  </ 스크립트>
</ 헤드>
<바디>
 
<사업부 클래스 = "UI 위젯">
  <= "새"에 대한 라벨> 새 </ 라벨>
  <입력 한 id = "새"크기 = "50">
</ DIV>
 
 
</ BODY>
</ HTML>

원격 데이터 소스 JSONP

텍스트 필드에 문자를 입력하면 자동 완성 구성 요소는 자문 결과를 제공합니다. 텍스트 필드에서 적어도 두 개의 문자를 입력 할 때,이 예에서, 상기 관련 도시의 이름을 표시한다.

이 예에서, 데이터 소스가된다 가 WebService geonames.org . 소자 후의 텍스트 필드의 선택은 도시의 이름이지만, 올바른 엔트리를 찾기 위해 더 많은 정보가 표시되지만. 데이터는 또한 그 결과는 아래의 상자에 표시됩니다, 콜백이 될 수 있습니다.

<! DOCTYPE html로>
<HTML LANG = "EN">
<헤드>
  <메타 문자 집합 = "UTF-8">
  <제목> jQuery를 UI 자동 완성 기능 (자동 완성) - JSONP 원격 데이터 소스 </ 제목>
  <링크 REL = "스타일 시트"HREF = "// code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <스크립트 SRC = "// code.jquery.com/jquery-1.9.1.js"> </ script>
  <스크립트 SRC = "// code.jquery.com/ui/1.10.4/jquery-ui.js"> </ script>
  <링크 REL = "스타일 시트"HREF = "http://jqueryui.com/resources/demos/style.css">
  <스타일>
  .ui-자동 완성 로딩 {
    배경 : 흰색의 URL ( '이미지 / UI-anim_basic_16x16.gif')을 마우스 오른쪽 센터 노 - 반복;
  }
  #city {폭 : 25em;}
  </ 스타일>
  <스크립트>
  $ (함수 () {
    함수 로그 (메시지) {
      $ ( "<DIV>")는 .text (메시지) .prependTo ( "#log");
      $ ( "#log")를 .scrollTop (0);
    }
 
    $ ( "#city") .autocomplete ({
      출처 : 기능 (요청, 응답) {
        $ 아약스 ({
          URL : "http://ws.geonames.org/searchJSON"
          dataType와 "JSONP"
          데이터 : {
            featureClass : "P",
            스타일 : "전체"
            maxRows를 : 12
            name_startsWith : request.term
          },
          성공 : 기능 (데이터) {
            응답 ($의 .MAP (data.geonames, 기능 (항목) {
              {반환
                라벨 : item.name + (item.adminName1 ","+ item.adminName1 :? "") + ","+ item.countryName,
                값 : item.name
              }
            }));
          }
        });
      },
      MINLENGTH : 2,
      선택 기능 (이벤트, UI)를 {
        로그 (ui.item?
          "선택 :"+ ui.item.label :
          ) + this.value "아무것도 선택하지, 입력했다";
      },
      여 : 함수 () {
        $ (이) .removeClass ( "UI 코너 모두") .addClass ( "UI 코너 탑");
      },
      가까이 : 함수 () {
        $ (이) .removeClass ( "UI 코너 탑") .addClass ( "UI 코너 모두");
      }
    });
  });
  </ 스크립트>
</ 헤드>
<바디>
 
<사업부 클래스 = "UI 위젯">
  <= "도시"에 대한 라벨> 도시 : </ 라벨>
  <입력 한 id = "도시">
  <a의 href="http://geonames.org"의 target="_blank"> geonames.org </a>에 의해 구동
</ DIV>
 
<사업부 클래스 = "UI 위젯"스타일 = "여백 - 가기 : 2EM; 글꼴 - 가족 : 굴림">
  결과 :
  <사업부 아이디 = "로그인"스타일 = "높이 : 200 픽셀, 폭 : 300 픽셀, 오버플로 : 자동;"클래스 = "UI 위젯 콘텐츠"> </ DIV>
</ DIV>
 
 
</ BODY>
</ HTML>

원격 데이터 소스

텍스트 필드에 문자를 입력하면 자동 완성 구성 요소는 자문 결과를 제공합니다. 텍스트 필드에 두 글자 이상 입력 할 때이 예에서, 그것은 새의 관련 이름을 표시합니다.

이 예에서, 데이터 소스는 간단한 소스 옵션을 지정할 JSON 데이터 서버 측 스크립트를 반환한다. 또한, MINLENGTH 옵션은 쿼리 반환 너무 많은 결과를 피하기 몇 가지 의견을 표시 할 이벤트를 선택, 2로 설정됩니다.

<! DOCTYPE html로>
<HTML LANG = "EN">
<헤드>
  <메타 문자 집합 = "UTF-8">
  <제목> jQuery를 UI 자동 완성 기능 (자동 완성) - 원격 데이터 소스 </ 제목>
  <링크 REL = "스타일 시트"HREF = "// code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <스크립트 SRC = "// code.jquery.com/jquery-1.9.1.js"> </ script>
  <스크립트 SRC = "// code.jquery.com/ui/1.10.4/jquery-ui.js"> </ script>
  <링크 REL = "스타일 시트"HREF = "http://jqueryui.com/resources/demos/style.css">
  <스타일>
  .ui-자동 완성 로딩 {
    배경 : 흰색의 URL ( '이미지 / UI-anim_basic_16x16.gif')을 마우스 오른쪽 센터 노 - 반복;
  }
  </ 스타일>
  <스크립트>
  $ (함수 () {
    함수 로그 (메시지) {
      $ ( "<DIV>")는 .text (메시지) .prependTo ( "#log");
      $ ( "#log")를 .scrollTop (0);
    }
 
    $ ( "#birds") .autocomplete ({
      출처 : "search.php"
      MINLENGTH : 2,
      선택 기능 (이벤트, UI)를 {
        로그 (ui.item?
          "선택 :"+ ui.item.value + "일명"+ ui.item.id :
          ) + this.value "아무것도 선택하지, 입력했다";
      }
    });
  });
  </ 스크립트>
</ 헤드>
<바디>
 
<사업부 클래스 = "UI 위젯">
  <= "새"에 대한 라벨> 새 </ 라벨>
  <입력 한 id = "새">
</ DIV>
 
<사업부 클래스 = "UI 위젯"스타일 = "여백 - 가기 : 2EM; 글꼴 - 가족 : 굴림">
  결과 :
  <사업부 아이디 = "로그인"스타일 = "높이 : 200 픽셀, 폭 : 300 픽셀, 오버플로 : 자동;"클래스 = "UI 위젯 콘텐츠"> </ DIV>
</ DIV>
 
 
</ BODY>
</ HTML>

원격 캐시

텍스트 필드에 문자를 입력하면 자동 완성 구성 요소는 자문 결과를 제공합니다. 텍스트 필드에 두 글자 이상 입력 할 때이 예에서, 그것은 새의 관련 이름을 표시합니다.

성능을 향상시키기 위해, 여기에 몇 로컬 캐시, 유사한 원격 데이터 소스의 다른 인스턴스를 추가합니다. 여기서, 단지 질의 캐시 저장하고, 캐시가 다수의 값으로 확장 될 수 있으며, 각각의 엔트리는 값이다.

<! DOCTYPE html로>
<HTML LANG = "EN">
<헤드>
  <메타 문자 집합 = "UTF-8">
  <제목> jQuery를 UI 자동 완성 기능 (자동 완성) - 원격 캐시 </ 제목>
  <링크 REL = "스타일 시트"HREF = "// code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <스크립트 SRC = "// code.jquery.com/jquery-1.9.1.js"> </ script>
  <스크립트 SRC = "// code.jquery.com/ui/1.10.4/jquery-ui.js"> </ script>
  <링크 REL = "스타일 시트"HREF = "http://jqueryui.com/resources/demos/style.css">
  <스타일>
  .ui-자동 완성 로딩 {
    배경 : 흰색의 URL ( '이미지 / UI-anim_basic_16x16.gif')을 마우스 오른쪽 센터 노 - 반복;
  }
  </ 스타일>
  <스크립트>
  $ (함수 () {
    VAR 캐시 = {};
    $ ( "#birds") .autocomplete ({
      MINLENGTH : 2,
      출처 : 기능 (요청, 응답) {
        VAR 기간 = request.term;
        경우 (캐시 용어) {
          응답 (캐시 [용어]);
          반환;
        }
 
        $ .getJSON ( "Search.php", 요청, 기능 (데이터, 상태, XHR) {
          캐시 [용어] 데이터 =;
          응답 (데이터);
        });
      }
    });
  });
  </ 스크립트>
</ 헤드>
<바디>
 
<사업부 클래스 = "UI 위젯">
  <= "새"에 대한 라벨> 새 </ 라벨>
  <입력 한 id = "새">
</ DIV>
 
 
</ BODY>
</ HTML>

스크롤 가능한 결과

옵션의 긴 목록을 표시 할 때, 당신은 단순히 너무 메뉴를 표시하는 자동 완성 메뉴를 방지하기 위해 최대 높이를 설정할 수 있습니다. 긴 스크롤리스트의 결과를 얻기 위해 "a"또는 "S"를 입력하십시오.

<! DOCTYPE html로>
<HTML LANG = "EN">
<헤드>
  <메타 문자 집합 = "UTF-8">
  <제목> jQuery를 UI 자동 완성 기능 (자동 완성) - 스크롤 가능한 결과 </ 제목>
  <링크 REL = "스타일 시트"HREF = "// code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <스크립트 SRC = "// code.jquery.com/jquery-1.9.1.js"> </ script>
  <스크립트 SRC = "// code.jquery.com/ui/1.10.4/jquery-ui.js"> </ script>
  <링크 REL = "스타일 시트"HREF = "http://jqueryui.com/resources/demos/style.css">
  <스타일>
  .ui-자동 완성 {
    최대 높이 : 100 픽셀;
    오버 플로우-Y : 자동;
    / * 가로 스크롤 막대를 방지 * /
    오버 플로우 엑스 : 숨겨진;
  }
  / * IE 6은 최대 높이를 지원하지 않습니다
   * / * 우리 대신 높이 사용하지만,이 메뉴는 항상 높이로 표시 강제
  * html로 .ui-자동 완성 {
    높이 : 100 픽셀;
  }
  </ 스타일>
  <스크립트>
  $ (함수 () {
    var에 availableTags의 = [
      "액션"
      "AppleScript로"
      "ASP를"
      "BASIC"
      "C",
      "C ++",
      "Clojure의"
      "COBOL"
      "ColdFusion에서"
      "얼랑"
      "포트란"
      "멋져요",
      "하스켈"
      "자바"
      "자바 스크립트"
      "리스프"
      "펄"
      "PHP"
      "파이썬"
      "루비",
      "스칼라"
      "계획"
    ]
    $ ( "#tags") .autocomplete ({
      출처 : availableTags
    });
  });
  </ 스크립트>
</ 헤드>
<바디>
 
<사업부 클래스 = "UI 위젯">
  <= "태그"에 대한 라벨> 태그 : </ 라벨>
  <입력 한 id = "태그">
</ DIV>
 
 
</ BODY>
</ HTML>

XML 데이터

이 예에서는 어떤 XML 데이터를 얻는 방법을 도시하고 해결하고 데이터 소스로서 자동 완성으로 제공하는 방법의 jQuery를 사용한다.

또한 원격 XML 데이터 소스를 참조 해결로서 사용될 예는 분석 - 각 소스 콜백 요청에 의해 발생한다.

<! DOCTYPE html로>
<HTML LANG = "EN">
<헤드>
  <메타 문자 집합 = "UTF-8">
  <제목> jQuery를 UI 자동 완성 기능 (자동 완성) - XML ​​데이터 </ 제목>
  <링크 REL = "스타일 시트"HREF = "// code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <스크립트 SRC = "// code.jquery.com/jquery-1.9.1.js"> </ script>
  <스크립트 SRC = "// code.jquery.com/ui/1.10.4/jquery-ui.js"> </ script>
  <링크 REL = "스타일 시트"HREF = "http://jqueryui.com/resources/demos/style.css">
  <스타일>
  .ui-자동 완성 로딩 {배경 : 흰색의 URL ( '이미지 / UI-anim_basic_16x16.gif')을 마우스 오른쪽 센터 노 - 반복;}
  </ 스타일>
  <스크립트>
  $ (함수 () {
    함수 로그 (메시지) {
      $ ( "<사업부 />")는 .text (메시지) .prependTo ( "#log");
      $ ( "#log") .attr ( "ScrollTop", 0);
    }
 
    $ 아약스 ({
      URL : "london.xml"
      dataType와 "XML"
      성공 : 기능 (xmlResponse) {
        VAR 데이터 =의 $ ( "geoname", xmlResponse) .MAP (함수 () {
          {반환
            값 : $ ( "이름"이)는 .text () + ","+
              ($ .trim ($ ( "COUNTRYNAME"이)는 .text ()) || "(알 수없는 국가)"),
            ID : $ ( "geonameId"이)는 .text ()
          };
        .}) () 얻으십시오;
        $ ( "#birds") .autocomplete ({
          출처 : 데이터,
          MINLENGTH : 0,
          선택 기능 (이벤트, UI)를 {
            로그 (ui.item?
              "선택 :"+ ui.item.value + ", geonameId을"+ ui.item.id :
              ) + this.value "아무것도 선택하지, 입력했다";
          }
        });
      }
    });
  });
  </ 스크립트>
</ 헤드>
<바디>
 
<사업부 클래스 = "UI 위젯">
  <= "새"에 대한 라벨> 런던 경기 : </ 라벨>
  <입력 한 id = "새">
</ DIV>
 
<사업부 클래스 = "UI 위젯"스타일 = "여백 - 가기 : 2EM; 글꼴 - 가족 : 굴림">
  결과 :
  <사업부 아이디 = "로그인"스타일 = "높이 : 200 픽셀, 폭 : 300 픽셀, 오버플로 : 자동;"클래스 = "UI 위젯 콘텐츠"> </ DIV>
</ DIV>
 
 
</ BODY>
</ HTML>