2016-10-07 55 views
1

你好溢出!每个用户发布到php页面

我在此刻卡住的问题在后面。

  • 我已成功地为选定的用户添加了“✓”。
  • 我已经为每个列出的用户添加了一个“data-id”属性。

我想弄明白的是我如何将用户data-id从jquery发布到我的php页面。

的Jquery:

task_takers = []; 
    var i = 0; 
    $(".new-task-takers ul.select_takers li").each(function(){ 
    $(this).click(function(){ 
     $(this).toggleClass("active"); 
     if($(this).find('.fa').length > 0){ 
     $(this).find('.fa').remove(); 
     }else{ 
     $('<i class="fa fa-check" aria-hidden="true"></i>').insertBefore($(this).find("div")); 
     } 
     console.log("Selected:", $(this).data("id")); 
     i += 1; 
     task_takers[i] = $(this).data("id"); 
     console.log(task_takers); 
     console.log(i); 
    }); 
    }); 
    console.log(task_takers); 

PHP:

$task_takers = isset($_POST['task_takers']) ? $_POST['task_takers'] : NULL; 
var_dump($task_takers); 

所有我得到的是一个空


编辑:

我得到它太工作了,但是,如果您选择用户并取消选择并重新选择,则数组将会被淹没。

阵列: [1:2,2:3,3:3,4:3,5:3,6:3]

正如你可以看到它修建垃圾ID:3

+0

看看你的控制台和使用错误报告功能,以及HTML源的var_dump();调试工具 –

+0

我认为你正在寻找[Ajax](http://api.jquery.com/jquery.ajax/) – JazZ

+0

添加新信息 – Tweath

回答

0

您必须将数据发送到php脚本才能使其工作。

这里是jQuery.ajax从文档一个小例子:

$.ajax({ 
    method: "POST", 
    url: "some.php", 
    data: { name: "John", location: "Boston" } 
}) 
    .done(function(msg) { 
    alert("Data Saved: " + msg); 
    }); 

我通常用它如下:

$("form").submit(function(){ 
    $.ajax({ 
     type: 'POST', 
     url: "/relative/path/to/php/script.php", 
     data: $("form").serialize(), 
     success: function(data) { 
     console.log(data) 
     }, 
     error: function(jqXHR, textStatus, errorThrown) { 
     console.log(textStatus, errorThrown); 
     } 
    }); 
    }); 

希望它能帮助。

编辑

自从上次编辑: 您可以通过使用array_unique删除从PHP脚本数组的重复项目的解决这个问题。

例如:

php > $arr = array("1" => 2, "2" => 3, "3" => 3, "4" => 3, "5" => 3, "6" => 3); 
php > print_r($arr); 
Array 
(
    [1] => 2 
    [2] => 3 
    [3] => 3 
    [4] => 3 
    [5] => 3 
    [6] => 3 
) 
php > $uniq_arr = array_unique($arr); 
php > print_r($uniq_arr); 
Array 
(
    [1] => 2 
    [2] => 3 
) 
+0

我已经在我的提交表单上使用ajax来包含数组,但是每个用户的信息没有被发送。 – Tweath

+0

好吧@Samuel,我看到你的编辑,我编辑了我的答案。 – JazZ

+0

但数组是从console.log通过jquery不是php。 – Tweath