Помощь автозаполнения Jquery - PullRequest
0 голосов
/ 19 мая 2011

Хорошо, нужна помощь здесь.У меня есть настройка автозаполнения для извлечения из БД со всей необходимой информацией.Я начал работать с диалоговыми окнами, и это сработало один раз, но через некоторое время прекратилось.Кто-нибудь видит, почему мое автозаполнение не будет правильно заполнять в этом файле?

 function clientJob() {
        showDialog('<p>Enter your Client Job Code</p><input type="text" size="15" name="projectnumber" id="projectnumber" value="" /><br /><input type="button" onclick="isaclientjob()" value="Enter" />');
    } 

    $( document ).ready(    
        function()
        {showDialog('<p>Is this a client job?</p><br /><input type="button" onclick="clientJob()" value="Yes" /> <input type="button" onclick="nonclientJob()" value="No" />');
            } // function
            ) // submit
            $( '[name="projectnumber"]' ).autocomplete({
                source: "job_validate.php",
                minLength: 3
            });
        }
    );

job_validate.php

$output = array();
$job = new job;
$jobs = $job->get_from_db( "`code` LIKE '" . $_GET['term'] . "%' AND `active` = '1'",'code',10 );

foreach ( $jobs as $key => $current)
    {
        $output[$key]['value'] = $current->code . " " . $current->name;
        $output[$key]['id'] = $current->id;
    }

print_r($output);
echo json_encode($output);

Посмотрел старыйверсия и вернулась к ней, и, кажется, она работает нормально в первом диалоговом окне, если у меня есть автозаполнение там, но как только я перехожу к следующему диалоговому окну, оно облажается.

Ответы [ 4 ]

1 голос
/ 19 мая 2011

В итоге я использовал только одно диалоговое окно и использовал разные функции вместо нескольких. Спасибо всем за помощь.

1 голос
/ 19 мая 2011

Попробуйте:

       $( '[name="projectnumber"]' ).live('focus',function(){
            $(this).autocomplete({
               source: "job_validate.php",
               minLength: 3
            });
        });

Также удалите строки } //function а также ) //submit

1 голос
/ 19 мая 2011

Я заметил, что вы выводите $output дважды:

print_r($output);
echo json_encode($output);

Попробуйте закомментировать print_r($output);, потому что это испортит JSON, передаваемый обратно в jQuery (так как это недопустимый JSON).

0 голосов
/ 19 мая 2011

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

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