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
번호 분류 제목 글쓴이 날짜 조회 수
14 etc XML 파싱 kay 2013.03.02 6337
13 UI 객체 초기화 kay 2013.04.04 4958
12 etc 기본값 가져오기 get default value kay 2014.10.19 2323
11 UI 동적으로 추가된 객체에 datepicker() 적용하기 kay 2013.11.06 10141
10 PlugIn 스크롤 따라 다니는 배너 file kay 2013.09.14 4517
9 UI 스크롤 탑 컨트롤 - scrolltop control kay 2013.05.29 18965
8 etc 에러 리포팅 , Ajax 디버깅 ( JS , ASP ) - 오류메시지 확인하기 kay 2013.03.08 30638
7 etc 우클릭 , 셀 선택 , 드래그 방지 스크립트 kay 2014.02.17 7916
6 etc 자동 Submit 방지 및 Enter Key 체크하기 kay 2013.08.12 7826
5 PlugIn 자동 롤링 배너 Jquery 2 file kay 2013.08.07 13882
4 UI 특정 객체가 화면에 보이는지 여부 확인 kay 2015.12.14 4894
3 etc 페이지 또는 객체에서 특정 키워드 강조하기 2 kay 2014.06.14 2716
2 etc 페이지 로딩 속도 개선 - 이미지 로딩처리 kay 2013.03.02 6533
1 etc 한글/영어 byte 체크해서 자르기 1 kay 2013.11.30 9704
Board Pagination Prev 1 2 3 Next
/ 3