0

我有这些标签云列表

<ul #id = "tag-cloud-list">
    <li class = "items">Music</li>
    <li class = "items">Lion</li>
    <li class = "items">Dwarf</li<
</ul>

那是由 JQuery 生成的。这里的项目是我将插入数据库的标签。现在我的问题是有可能得到<li>ul 中的所有项目吗?并将它们放在 PHP 数组中?因为这些标签中的每一个都将被插入到数据库中。如果我无法使用 php 获取 li 项,那么如何将这些列表项插入数据库?因为我需要它们,因为它是某个项目或帖子的标签

4

3 回答 3

5

您必须进行 AJAX 调用:

var lis = new Array();

// Iterate through the <li> items
$("#tag-cloud-list").children("li").each(function()
{
    lis.push($(this).text());
});

// Make AJAX call and set data to something like "Music::Lion::Dwarf"
$.ajax({
    url: "dostuff.php",
    type: "POST",
    data: { items: lis.join("::") },
    success: function() { alert("OK"); }
});

然后在 PHP 脚本中,使用

$lis = $_POST['items'];
$liarray = explode("::", $lis);

li检索项目数组

于 2012-08-01T10:51:55.033 回答
3

除非您以某种方式将数据发送回服务器,否则您无法在 PHP 中获取这些信息。PHP 在服务器上执行,如果这是通过 jquery 进入的,那么 PHP 对此一无所知。

您将需要使用 javascript 获取所有信息并将其发送回服务器,或者您需要将整个页面 HTML(以某种方式)发送回服务器以供 PHP 查看。我建议第一个选项。

编辑:我对 javascript 不感冒,只使用一些基本功能,但您可以将事件写入 a<div>或数据进入的位置。<li>该函数将找出有多少<ul id="tag-cloud-list">弹出它们到一个数组中,并通过表单或 ajax 查询将它们发送到 PHP 服务器。

抱歉,我对 js 代码帮不上什么忙。

于 2012-08-01T10:46:12.193 回答
2

您需要使用 JQuery 中的 .find() 函数获取 ul 中的所有项目,并使用 ajax 进行 POST 并处理信息

于 2012-08-01T10:47:24.500 回答