отправить ссылку на данные JSON с помощью AJAX JQuery - PullRequest
0 голосов
/ 21 апреля 2010

Я использую автоматическое предложение, используя Ajax Json .

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

мои данные JSON поступают таким образом

{
 query:'hel',
 suggestions:["hello world","hell boy ","bac to hell"],
 data:["2","26","34"]                       
}

Теперь, что я хочу, чтобы пользователь перешел на http://userProfile.php?uid=26 при выборе имени пользователя (предположим, что пользователь выбрал "адский мальчик") как это сделать ??

UPDATE: я опишу что делаю шаг за шагом Я использую окно поиска, используя jquery ajax, когда пользователь пишет текст в поле ввода, мы показываем (предлагаем) значение, соответствующее их поиску

ШАГ 1. когда пользователь пишет по крайней мере (2 буквы) <input type="text" name="q" id="query" />, тогда вызывается функция (ниже), в которой я посылаю значение, записанное в текстовом поле (например, в ад).

<script type="text/javascript" language="javascript">
    var options, a;
    jQuery(function(){
       options = { serviceUrl:'rpc.php' };
       var a = $('#query').autocomplete({ 
        serviceUrl:'rpc.php',
        minChars:3, 
        delimiter: /(,|;)\s*/, // regex or character
        maxHeight:400,
        width:300,
        zIndex: 9999,
        deferRequestBy: 0, //miliseconds
      });
    });
 </script>

ШАГ 2: на rpc.php, я собираю данные и показываю с использованием JSON мои окончательные данные представлены в формате ниже

{
 query:'hell',
 suggestions:["hello world","hell boy ","bac to hell"],
 data:["2","26","34"]                       

}

где список предложений с именем пользователя и данными является идентификатором пользователя (из user_tables). вышеуказанные данные поступают в div (на веб-интерфейсе), где имя пользователя отображается в списке

ШАГ 3: Теперь, если я выберу любое имя пользователя, используя стрелки вверх или вниз, тогда это имя заполняется в поле ввода, ШАГ 4: Теперь я хочу, чтобы, когда пользователь выбирает имя пользователя, страница автоматически переходила в раздел профиля этого пользователя (userprofile.php?uid=2)

1 Ответ

1 голос
/ 21 апреля 2010

если вы посмотрите на страницу , на которую вы ссылались , в разделе «как использовать» вы увидите, что вы можете добавить функцию обратного вызова onSelect:

 // callback function:
onSelect: function(value, data){ alert('You selected: ' + value + ', ' + data); },

Теперь вы сможете получить доступ к своим данным и переместить пользователя на нужную вам страницу.

например. что-то вроде следующего:

<script type="text/javascript" language="javascript">
var options, a;
jQuery(function(){
   options = { serviceUrl:'rpc.php' };
   var a = $('#query').autocomplete({ 
    serviceUrl:'rpc.php',
    minChars:3, 
    delimiter: /(,|;)\s*/, // regex or character
    maxHeight:400,
    width:300,
    zIndex: 9999,
    deferRequestBy: 0, //miliseconds
     // callback function:
    onSelect: transferUser },
  });
});

function transferUser(value, data)
{
window.location.href = 'userprofile.php?uid=' + data;
}
</script>

(обратите внимание, что я не проверял это, но это должно дать вам некоторое представление о том, как действовать!)

Также стоит отметить, что в последней версии jQuery UI также есть автозаполнение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...