2013-08-23 2 views
1

Я использую jQuery's getJson, чтобы получить объект Json и хочу отобразить его на странице html.Как добавить гиперссылку динамически с помощью jQuery?

Я могу показать их успешно с кодом, как это:

$.getJSON(full_name, {}, function(data) { 

     $.each(data, function(index, field){ 
      $("div").append(index + " : " + field + "<br>"); 
     }); 
}); 

И в данных JSon, есть элемент с индексом называется «ссылка». Я хочу изменить свое поле от простого текста до гиперссылки. И когда я нажму на эту ссылку, он отправит запрос метода GET на URL-адрес и отобразит что-нибудь с сервера на новой странице.

Как изменить мою страницу, чтобы достичь этой функции?

Заранее спасибо.

+0

где указан указанный адрес –

ответ

1

Попробуйте

$.getJSON(full_name, {}, function(data) { 
    $.each(data, function(index, field){ 
     if(index == 'reference') { 
      html = '<a href="link">' + field + "</a><br/>"; 
     } else { 
      html = index + " : " + field + "<br>"; 
     } 
     $("div").append(html); 
    }); 
}); 
+0

Thx много сегодня! Вы можете предположить, что URL-адрес - www.test.com/field. Я хочу отправить запрос GET на этот URL-адрес и отобразить содержимое, которое я получаю на новой странице. – Jane

+0

@SeanZhu Я предполагаю, что вы не ищете запрос ajax, тогда «html =» ' + field + " «;» будет делать –

2
$.getJSON(full_name, {}, function(data) { 

     $.each(data, function(index, field){ 
      if(index=='reference'){ 
      $("div").append('<a class="jMyLink">' + field + "</a><br/>"); 
      } else{ 
      $("div").append(index + " : " + field + "<br>"); 
      } 
     }); 
}); 
$(".jMylink").on('click',function(){ 
    // Place your ajax call here 
}); 

Если вы не знакомы с использованием AJAX, вы можете передать его here

+0

взглянуть на метод Аруна П Джони, он объединяет все «добавочные» вызовы в одну строку, затем добавляет. Это было бы более эффективным способом: +1, так как вы позаботились о вызове ajax. –

+0

@Sunny: '.append()' будет вызываться только один раз даже в моем коде, а строка в любом случае конкатенирована до 'append () 'call. Но да, использование переменной было бы более ремонтопригодным. Просто пытался сосредоточиться на решении основной проблемы, поэтому пропустил. Спасибо за указание на это хотя :) – Vandesh

0
$.getJSON(full_name, {}, function(data) { 

    $.each(data, function(index, field){ 
     if(index == 'reference'){ 
      $("div").append('<a href="link" class="sendrequest">' + field + "</a><br/>"); 
     } else { 
      $("div").append(index + " : " + field + "<br>"); 
     } 
    }); 
}); 

затем отправить запрос на якорь тегов нажмите

$(".sendrequest").on('click',function(){ 

// apply ajax here to send get request 

//send set state request 
    $.ajax({ 
     type: "GET", 
     url: "url name", 
     data: {// your data 
      }, 
     beforeSend: function() { 
// handle before send request   
}, 
     success: function (data, textStatus, XmlHttpRequest) { 
// handle when request success   
}, 
     error: function (XMLHttpRequest, textStatus, errorThrown) { 
// handle error 
     } 
    }); 


}); 

ссылка ajax

Смежные вопросы