2010-08-31 2 views
1

С функцией «Задать вопрос» с переполнением стека, когда я закончил набирать заголовок вопроса, который я задаю, область под заголовком откроется и отобразит список «связанных вопросов».Как реализовать функцию «связанных вопросов» с помощью jquery

Как реализовать это с помощью jquery/JavaScript? Есть ли какой-либо плагин или код с открытым исходным кодом, который я мог бы использовать для этого?

Я строил сайт, используя Django и Solr (для полнотекстового поиска). Поэтому в идеале решение будет хорошо работать с этими двумя технологиями.

ответ

1

Вопрос о том, как вы отвечаете на вопросы had been asked already.

Ответ, как вы должны реализовать его в AJAX заключается в следующем:

Во-первых, осуществлять веб-сервис, который вы можете запросить с помощью JavaScript, который принимает заголовок вопроса и возвращает список вопросов, которые кажутся связаны между собой. Скажем, услуга в http://example.com/queryRelatedQuestions и возвращает объект JSON в следующем виде:

{ 
    "How to find the average speed of an African sparrow": "http://example.com/questions/1", 
    "Speed of European sparrows diminishing, help ASAP": "http://example.com/questions/2" 
} 

Во-вторых, когда пользователь вошел в заголовок вопроса (blur событие ввода текста), запрос на услугу, как это:

$.post('http://example.com/queryRelatedQuestions', { 
     query: $('#title-text').val() 
    }, 
    function(data){ 
     var result = ['<ul>']; 
     $.each(data, function(title, url) { 
      result.push('<li><a href="'); 
      result.push(url); 
      result.push('">'); 
      result.push(title); 
      result.push('</a></li>'); 
     }); 
     result.push('</ul>') 
     $('#relatedQuestions').html(result.join('')); 
    } 
); 
Смежные вопросы