2012-06-11 5 views
0

다음 코드를 사용하여 XML 파일을 선택하고 구문 분석합니다. 훌륭하게 작동하지만 3 개의 다른 XML 파일이 있기 때문에 3 개의 다른 페이지도 있습니다. 완전히 새로운 페이지를로드하는 대신 URL을 XML 파일로 바꿀 수 있다면 애플리케이션을 훨씬 빠르게 작성할 수 있습니다.jQuery로 선택된 XML 파일을 변경하십시오.

$(document).ready(function(){ 
       $.ajax({ 
        type: "GET", 
        url: "rss/page1", 
        dataType: "xml", 
        success: function(xml) { 

그래서, 내가되고 궁금하네요 무엇을 : 그것은 간단한 jQuery를 이벤트와 url:에서 URL을 변경할 수 있습니까? url: "rss/what_ever_it_is_now"

url: "rss/index"에 정말 감사합니다,

<a id="index" href="#">Index</a> 
<a id="page1" href="#">Page 1</a> 
<a id="page2" href="#">Page 2</a> 
id="index"으로 <a> 태그를 클릭하면

변경 : 의사 코드에서 는이 같은 것!

답변

1

해당 요소에 click 이벤트를 걸어 해당 함수를 적절한 파일 이름으로 호출하면됩니까? 이 같은

http://jsfiddle.net/saluce/6rBjX/

뭔가 : 이런 식으로 일을함으로써

<a href="#" class="parseButton" data-filename="rss/index">Index</a> 
<a href="#" class="parseButton" data-filename="rss/page1">Page 1</a> 
<a href="#" class="parseButton" data-filename="rss/page2">Page 2</a> 

​function parseFile(fileName) { 

} 

$(document).ready(function() { 
    $(".parseButton").click(function(s,e) { 
     $.ajax({ 
      type: "GET", 
      url: $(this).attr("data-filename"), 
      dataType: "xml", 
      success: function(xml) { 
      ... 
     }); 
     e.preventDefault(); 
    } 
    }​ 

, 당신은 실제로도 단순히 값을 변경하여 (만약 당신이 필요합니다) 추가 XML 파일을 구문 분석하는 데 더 많은 링크를 추가 할 수 있습니다 data-filename 속성에 있습니다. 줄 e.preventDefault()a 태그를 사용하면 페이지가 다시로드되지 않도록합니다. 실제로 페이지를 다시로드하려는 경우 제거하십시오.

+0

헤이 Saluce, 답변 주셔서 감사하지만,이 상황에서 버튼을하지 않습니다 그 일을해라. 나는 단추를 사용할 수 있다면 이것을 명심할 것입니다! – Rvervuurt

+0

여전히'a' 태그를 사용하여 작업을 할 수 있습니다 =) 편집 내용을 확인하십시오. – saluce

0

숨바꼭질,

시도의이 같은 :

$(document).ready(function(){ 
    $('.lnk').click(function(){ 
     var pag = 'rss/'+ $(this).attr('id'); 
        $.ajax({ 
         type: "GET", 
         url: pag, 
         dataType: "xml", 
         success: function(xml) { 
     //.... 
    }); 
}); 

그리고 링크 :

<a class="lnk" id="index" href="#">Index</a> 
<a class="lnk" id="page1" href="#">Page 1</a> 
<a class="lnk" id="page2" href="#">Page 2</a> 
+0

안녕하세요. CoursesWeb, 지금이 사이트를 사용해 보겠습니다. 귀하의 솔루션에 감사드립니다. 편집 할 수 있습니다 단지 하나의 작은 문제 : 내 RSS - 피드는'RSS /'라는 폴더에 간단하게 저장되지 않기 때문에 , 나는 단지 전체 링크 ID를 변경하고이 다음 'var에 PAG로한다 = 'rss /'+ $ (this) .attr ('id');'는 var pag = $ (this) .attr ('id');와 id (예 : http : // www)가됩니다. .url.com/stored/index 그게 가능할까요? 또는 'http://www.url.com + $ (this) ...'과 유사한 시스템을 사용하는 것이 좋습니다. (의미가되기를 바랍니다. 하하!) – Rvervuurt

+0

HTML5 사양을 사용하는 경우 HTML5에서 '/'문자가 'id'에 유효한 문자이므로 실제로 전체 경로를 ID에 포함 할 수 있습니다. – saluce

+0

이 솔루션은 한 번 작동합니다. 'id = page1'에서'id = index'로 갈 때 잘 동작합니다. 'id = page1'로 돌아가고 싶을 때 아무것도하지 않습니다. 왜 그런가? – Rvervuurt

관련 문제