jQuery each () приводит к массиву к php к базе данных - PullRequest
2 голосов
/ 29 апреля 2011

По сути, я делаю что-то вроде системы приглашений, пользователь нажимает на пользователей, и они попадают в список, все работает, я могу получить их идентификаторы с помощью каждой (), но мне нужно пройти через jQuery Ajax для php, чтобы отправить его в базу данных для уведомлений. Это в основном то, что у меня есть:

$(".group-video-create").click(function(){
    var url = $(".group-input-url").val();                                      
    var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
    var checked_url = url.match(exp,"<a href='$1'>$1</a>"); 
    if(checked_url)
    {   
        $("#group-input-names li").each(function(){ // This is the relevant code
        var user_id = $(this).attr("id");           // Here too
        });                                         // & here

        if(user_id)
        {

            $.ajax({
                type: "POST",
                //url: "",
                //data: "", //this would be an array of all of the ids, (could be 1, could be 100).
                cache: false,
                success: function(html){
                    ///Once all invitations have been sent to the database it would then load a new div and hide the previous one. 
                    }
            });
        }
    }
});

если вы хотите увидеть, чего я пытаюсь достичь, просто зайдите сюда:

http://www.kithell.com/#/video

usr: PhpFreak@yahoo.com pass: phpfreaklogin

Это в группе видео. (Вы должны автоматически направиться туда после входа в систему)

Ответы [ 2 ]

0 голосов
/ 29 апреля 2011

Вот одна возможность

http://jsfiddle.net/nickywaites/9GZ2e/

$(function() {

//I would use jQuery Map to build Array
//http://api.jquery.com/map/
var ids = $("#group-input-names li").map(function() {
    return $(this).attr("id");
}).get(); //Get Required to convert to regular javascript array

console.log(ids);

var invites = {}
invites.users = ids;

//Then use JSON.stringify() to pass array to server
//https://github.com/douglascrockford/JSON-js
if (ids.length > 0) {
    $.ajax({
        type: "POST",
        //url: "",
        data: JSON.stringify(invites),
        cache: false,
        success: function(html) {}
    });
}

});
0 голосов
/ 29 апреля 2011

Возможно, вы сможете использовать jQuery.serialize для объединения всех данных формы.Кроме того, jQuery.post является хорошим сочетанием клавиш для выполнения запроса POST с jQuery.ajax.

. Пример может выглядеть так:

...