我有这些标签云列表
<ul #id = "tag-cloud-list">
<li class = "items">Music</li>
<li class = "items">Lion</li>
<li class = "items">Dwarf</li<
</ul>
这是由JQuery生成的。这里的项目是我将插入数据库的标签。现在我的问题是可以在ul中获取所有<li>
个项目吗?并将它们放在PHP数组中?因为每个标签都将插入数据库中。如果我无法使用php获取li项目,那么如何将这些列表项插入数据库?因为我需要它们,因为它标记为某个项目或帖子
答案 0 :(得分: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
项目的数组
答案 1 :(得分:3)
除非以某种方式将数据发送回服务器,否则无法在PHP中获取这些内容。 PHP在服务器上执行,如果这是通过jquery进行的,那么PHP对此一无所知。
您需要使用javascript获取所有信息并将其发送回服务器,或者您需要将整个页面HTML(以某种方式)发送回服务器以供PHP查看。我建议第一个选择。
编辑:我对javascript不是很热,只是使用一些基本功能,但你可以将事件写入<div>
或数据进入的地方。该函数将查找<li>
中有多少<ul id="tag-cloud-list">
将它们弹出到一个数组中,并通过表单或ajax查询将它们发送到PHP服务器。
很抱歉,我对js代码无能为力。
答案 2 :(得分:2)
您需要使用JQuery中的.find()函数获取ul中的所有项目,并使用ajax进行POST并处理信息