2013-06-08 3 views
0

Как я могу вызвать эту функцию * on_search *, нажав на текст (item.name)?Как вызвать функцию в тексте гиперссылки Нажмите

$.each(docs, function(i, item) { 
      $('#body').append($('<div><a href="">' + item.name </a></div><br/>')); 
     }); 

// call this function whenever user clicks the text 
function on_search() {    
    var url ='http:myhomepage/select/?wt=json&json.wrf=?&q='+item.name; 
    $.getJSON(url, on_text); 
    } 
+1

линия 2 - вы пропали без вести в ' '' –

ответ

0

Дайте набор классов в обработчике событий.

$.each(docs, function(i, item) { 
       $('#body').append($('<div><a href="" class="my-anchor">' + item.name </a></div><br/>')); 
    $(".my-anchor").click(on_search); 
      }); 

    // call this function whenever user clicks the text 
    function on_search() {    
     var url ='http:myhomepage/select/?wt=json&json.wrf=?&q='+item.name; 
     $.getJSON(url, on_text); 
     } 
0

Не уверен, что каждая ссылка должна быть обернута внутри своего собственного div. На самом деле, чтобы сделать эту работу хорошо, вы можете захотеть поместить все эти ссылки внутри определенного div.

Оттуда, вот что вы делаете:

$('#divName').find('a').click(function (event) { 
    var url=... 
    event.preventDefault(); // Stops the browser from actually following the link 
    [...] 
}); 
+0

Благодарю. Предотвращение дефолта действительно необходимо. Но как передать имя элемента в качестве параметра для on_search()? – ArchieTiger

0

если добавить идентификатор или класс, который может просто добавить

$('.yourClass').click(function() 
    { 
     var x = $(this).attr('href'); 
     on_search(); 
     // you would probably want to pass the item name as a parameter: on_search(x); 
    }); 
Смежные вопросы