Отправьте этот массив на php и получите результаты в div (FCBKcomplete) - PullRequest
1 голос
/ 14 сентября 2011

Я использую плагин autosuggest, который позволяет мне выбрать несколько элементов из выпадающего меню ( демо здесь ). Я хочу, чтобы запрос был отправлен в php-файл (позже я займусь самим запросом) и получу результат обратно, не покидая страницу.

Файл php сейчас почти пуст:

<?php print_r($_REQUEST); ?>

Но я знаю, что где-то допустил ошибку в своем jquery, так как окно поиска больше не отображается . * 100

Вот код, который я создал, я не уверен, что поместить в поле «data».

 <script type="text/javascript">
            $(document).ready(function(){                
                $("#select3").fcbkcomplete({
                    json_url: "data.txt",
                    addontab: true,                   
                    maxitems: 10,
                    input_min_size: 0,
                    height: 10,
                    cache: true,
                    newel: false,
                    filter_selected: true,
                    maxitimes: 5,


                    // I did this
                    onselect:"get_venue",




                });


    // I also did this

    function get_venue() {
    $("#select3 option:selected").each(function() {
$.ajax({
        type: 'POST',
        url: 'post.php',
        dataType: 'json',
        data: {
            WHAT DATA GOES HERE?
        },
success : function(data){
                $('#phpmessage').removeClass().addClass((data.error === true) ? 'error' : 'success')
                    .text(data.msg).show(500);
                if (data.error === true)

            },
            error : function(XMLHttpRequest, textStatus, errorThrown) {
                $('#waiting').hide(500);
                $('#phpmessage').removeClass().addClass('error')
                    .text('There was an error.').show(500);
            }
        });       
    });
}





            });
        </script>

Извините за столь длинный пост всем :) !! Спасибо:))

Ошибка, которую я получаю:

Не является функцией: return func.call (func, _object);

function funCall(func, item) {
var _object = {};
for (i = 0; i < item.get(0).attributes.length; i++) {
if (item.get(0).attributes[i].nodeValue != null) {
_object["_" + item.get(0).attributes[i].nodeName] = item.get(0).attributes[i].nodeValue;
}
}
return func.call(func, _object);
}
function checkFocusOn() {
if (focuson == null || focuson.length == 0) {
return false;
}
return true;
} 

1 Ответ

1 голос
/ 14 сентября 2011

Вы хотите перебрать все элементы в окне поиска, у них есть класс .bit-box.Создайте массив этих поисковых терминов, а затем отправьте их в виде данных в запрос ajax.

function get_venue() {
var data = []; 
$('.bit-box').each(function() {
    data.push( $(this).text );     
}); 

$.ajax({
        type: 'POST',
        url: 'post.php',
        dataType: 'json',
        data: {
            'choices[]': data
        },
    success : function(data){
              $('#phpmessage')
               .removeClass()
               .addClass((data.error === true) ? 'error' : 'success')
               .text(data.msg).show(500);
            if (data.error === true){ 
            }
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            $('#waiting').hide(500);
            $('#phpmessage').removeClass().addClass('error')
                .text('There was an error.').show(500);
        }
});       
}
...