My Name is Kay....

DIY , 먹방 , 개발 , 육아 , 여행 좋아합니다.
AdBlock 사용시 화면이 정상적으로 노출되지 않습니다.
포스팅 관련 문의 및 개발 문의는 Email : wkzkfmxksi@gmail.com

추가 포스팅이 이뤄지지 않는 블로그입니다. 문의는 wkzkfmxksi@gmail.com 으로 연락주세요.
UI
2013.03.08 23:29

AutoCompleate - ( XML + Jquery )

kay
조회 수 5540 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

jQuery + XML 연동 Autocomplete 예제

test Url : http://www.uhoon.co.kr/test/409.html 

 

auto.png

 

*auto.html

<head>
<meta charset="utf-8" />
<title>jQuery Autocomplete</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script>  
</head>
<body>

<script>
$(document).ready(function() { 
var lang = "en"; 
$("#lang").bind("change", function() {
lang = this.value;
});

    $.ajax({
        url: "data.xml",
        dataType: "xml",
        success: function( xmlResponse ) {
            var data = $("dong", xmlResponse ).map(function() {
                return {
                    value: "",
                    name_en: $( "name_en", this ).text(),
                    name_kr: $("name_kr", this).text(), 
                    web: $( "web", this ).text()
                };
            }).get(); 
            $("#results").autocomplete({
                source: function(req, add) {
                 var source = [];
                 for (var i = 0; i < data.length; i++)
                 {           
                    if (lang == "en")
                    {
                        data[i].value = data[i].name_en;   
                    }
                    else if (lang == "kr")
                    {
                        data[i].value = data[i].name_kr;  
                    } 
                    if (data[i].value.toLowerCase().indexOf($("#results").val().toLowerCase()) >= 0)
                    {
                         source.push(data[i]);   
                     }
                 } 
                 add(source);
                },
                minLength: 0,
                select: function( event, ui ) {
                        $('#translate').html('');
                        $('#web').html('');
                        if (lang == "en")
                        {
                            dongName = ui.item.name_kr;   
                        }
                        else if (lang == "kr")
                        {
                            dongName = ui.item.name_en;  
                        } 
                        $('#translate').html(dongName).slideDown();
                        $('#web').html(ui.item.web).slideDown();

                }
            });
        },error: function(xhr, ajaxOptions, thrownError){ alert(thrownError);  alert(xhr.responseText); }
    }); 
}); 
</script>
<div class="ui-widget"> 
<p>
<select id="lang">
<option value="en">EN</option>
<option value="kr">KR</option>
</select>
<input type="text" id="results" style="width:500px;"/>
</p>
<p>
<label for="translate">translate : </label>
<span id="translate"></span>
</p>
<p>
<label for="web">web : </label>
<span id="web"></span>
</p>
</div> 
</body>
</html>



*data.xml


<?xml version="1.0" encoding="UTF-8"?>
<list>
<dong>
    <name_en>Mugyo-dong, Jung-gu, Seoul, Korea</name_en>
    <name_kr>서울특별시 중구 무교동</name_kr> 
    <web>http://www.무교동.com</web>
</dong>
<dong>
    <name_en>Gunja-dong, Gwangjin-gu, Seoul, Korea</name_en>
    <name_kr>서울특별시 광진구 군자동</name_kr> 
    <web>http://www.군자동.com</web>
</dong>
<dong>
    <name_en>Guui 1-dong, Gwangjin-gu, Seoul, Korea</name_en>
    <name_kr>서울특별시 광진구 구의1동</name_kr> 
    <web>http://www.구의1동.com</web>
</dong>
<dong>
    <name_en>Guui 2-dong, Gwangjin-gu, Seoul, Korea</name_en>
    <name_kr>서울특별시 광진구 구의2동</name_kr> 
    <web>http://www.구의2동.com</web>
</dong>
</list>





?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
54 etc 한글/영어 byte 체크해서 자르기 1 kay 2013.11.30 9703
53 etc 페이지 로딩 속도 개선 - 이미지 로딩처리 kay 2013.03.02 6533
52 etc 페이지 또는 객체에서 특정 키워드 강조하기 2 kay 2014.06.14 2716
51 UI 특정 객체가 화면에 보이는지 여부 확인 kay 2015.12.14 4890
50 PlugIn 자동 롤링 배너 Jquery 2 file kay 2013.08.07 13882
49 etc 자동 Submit 방지 및 Enter Key 체크하기 kay 2013.08.12 7826
48 etc 우클릭 , 셀 선택 , 드래그 방지 스크립트 kay 2014.02.17 7916
47 etc 에러 리포팅 , Ajax 디버깅 ( JS , ASP ) - 오류메시지 확인하기 kay 2013.03.08 30638
46 UI 스크롤 탑 컨트롤 - scrolltop control kay 2013.05.29 18965
45 PlugIn 스크롤 따라 다니는 배너 file kay 2013.09.14 4517
44 UI 동적으로 추가된 객체에 datepicker() 적용하기 kay 2013.11.06 10141
43 etc 기본값 가져오기 get default value kay 2014.10.19 2323
42 UI 객체 초기화 kay 2013.04.04 4958
41 etc XML 파싱 kay 2013.03.02 6337
40 UI woothemes FlexSlider - 슬라이더 file kay 2014.09.16 286813
39 PlugIn vGrid - 브라우저 너비에 따른 가변 그리드 1 kay 2013.04.08 6956
38 PlugIn Tree 메뉴만들기 1 file kay 2013.08.14 5647
37 PlugIn tiptip - 툴팁 kay 2013.04.14 17886
36 etc Table에 동적 Tr 추가/삭제 하기 kay 2014.02.09 21279
35 PlugIn Star Rating Plugin - jQuery 별점 주기 2 file kay 2014.05.01 13224
Board Pagination Prev 1 2 3 Next
/ 3