将用户创建的li发送到php作为数组而不删除li元素?

时间:2017-10-11 08:54:19

标签: javascript php arrays ajax html-lists

我到处寻找了一个星期,我无法让它发挥作用。

我有一个ul,用户在列表中添加和删除项目,直到他/她对结果感到满意并点击下一步。这是更大形式的一部分。我需要将所有li元素作为数组发送到php页面。

我已经使用了jquery和隐藏的输入,并且列表工作正常,它在点击“添加”时逐个元素地将数据作为数组发送到php。 问题是,当用户从列表中删除某个项目时,它显然只会从前端删除。

所以我认为我需要先让用户创建和编辑列表,然后点击“提交”,将所有剩余的li放入数组并通过ajax发送给php。 (?)或者找到一种方法从php数组中删除相同的元素(听起来效率低下)。无论哪种方式,我需要像ajax一样以其他方式向php发送数据,我无法使其工作。

正如你可能会说的那样,我是初学者,但如果有人能给我一个基本但完整的例子,我会真的很感兴趣,因为我已经尝试了所有我能找到的东西而且我必须假设一些东西假。谢谢!

1 个答案:

答案 0 :(得分:0)

<强> HTML

<ul id="xyz">
    <li>Your Items</li>
<ul>
<button id="next">Next</button>

<强>的jQuery

$("#next").click(function (){
   var arr = [];
   $("#abc").find("li").each(function(){
      arr.push($(this).html());
   });
   $.post("link-to-php", {array: arr}, function(result){
      //
   });
});

<强> PHP

您可以使用$_POST["array"]访问数组。您应该检查数组是否有效,然后您可以更新您的php数组。

为了更好地使用,您可以在jQuery(JSON.parse(JSON.stringify(arr)))中对json进行数组编码,并在php(json_decode($_POST["array"], true);)中对其进行解码。