2012-04-21 3 views
2

json에서받은 응답에 대해 ajax 호출을 적용하려고합니다.AJAX에서 json 응답을 요청합니다.

내 HTML 아래.

<div id = "tabs"> 
<ul> 
<li><A href="#ed_pro">Product Category</A> </li> 
<li><A href="#ed_img">Add Image</A> </li> 
<li><A href="#ed_txt">Add Text</A></li> 
</ul>  
<div id="ed_pro"> 
</div> 
<div id="ed_img"> 
</div> 
<div id="ed_txt"> 
</div> 
</div> 

function handleTabSelect(data) { 
    var items = '<ul>'; 
    $.each(data, function(i, object) { 
     items += '<li><a id="main_cat" href=#>' + object.img_cat_des + '</a></li>'; 
    }); 
    items += '</ul>'; 
    $('#ed_img').append(items); 
    flag = 1; 
} 

$('#main_cat').click(function() { 
    var url1 = $(this).attr("href"); 
    alert(url1); 
}); 

$("#tabs").tabs(); 

$("#tabs").bind("tabsselect", function(e, tab) { 

    if (flag == 0) { 
     jQuery.ajax({ 
      type: 'POST', 
      url: '?q=design/lab_tab', 
      dataType: 'json', 
      data: 'slider_value=' + tab.index, 
      success: handleTabSelect, 
      error: function(xhr, status) { 
       alert(xhr.statusText); 
      } 

     }); 
    } 
});​ 

JSON의 응답을받은 후, 위의 스크립트는 내가에 대한 더 아약스 호출을 적용 할 수있는 방법을
<ul> 
<li> 
<a id="main_cat" href="#">Animals</a> 
</li> 
<li> 
<a id="main_cat" href="#">Astrology</a> 
</li> 
</ul> 

로의 목록을 추가합니다. 는 A HREF를 클릭에

, 그것은 결코 사전에

$('#main_cat').click(function() { 
var url1 = $(this).attr("href"); 
alert (url1); 
}); 

감사를 호출하지 않습니다.

답변

2
<a id="main_cat" href="#">Animals</a> 
    <a id="main_cat" href="#">Astrology</a> 
  • Id는 고유해야합니다, 당신은 대리자 이벤트 핸들러를 작성하기 위해 동일한 id =>잘못된 HTML
  • 사용 on 여러 요소가 있습니다.

고정 태그 :

<a class="main_cat" href="#">Animals</a> 
    <a class="main_cat" href="#">Astrology</a> 

자바 스크립트 :

$('staticContainer').on('click', '.main_cat', function(){ 
    var url1 = $(this).attr("href"); 
    alert (url1); 
}); 

당신은 선택 교체해야 다음은 가장 가까운 정적가 (에 존재 가져 staticContainer을 DOM 준비) 요소에 새로운 앵커가 포함됩니다.

+0

덕분에 .. 나는 아래의 코드 $ ('#의 ed_img')와 함께 달성했다. 바인딩 (함수 (이벤트 '를 .main_cat'을 '클릭') { var tg_element = $ (event.target); var url1 = tg_element.attr ("href"); alert (url1); }}); –

+0

@PrabhuMK. 시원하고, 당신은 대답으로 쓰거나이 대답을 받아 들일 수 있습니다. 행운을 비네! – gdoron

0

감사합니다.

$('#ed_img').bind('click', '.main_cat',function(event){ 
    var tg_element = $(event.target); 
    var url1 = tg_element.attr("href"); 
    alert (url1); 
}); 

감사합니다, 프라 부 MK

관련 문제