从jQuery获取Data-dir值并将其传递给PHP

时间:2013-03-13 10:32:47

标签: php jquery html sql

我正在解决一个我无法弄清楚的问题。

我正在为我的网站创建一个菜单,我可以从te数据库中获取所有值。我有四个项目:“Nintendo”,“Playstation”,“XBOX”和“PC”。他们每个人都有一个唯一的ID。当其中一个项目被点击时,我想要获得该唯一ID。

使用这段代码可以在我的网站上打印出我的价值观:

echo "<ul class=\"main_menu\">"; 

            while($names = $get_category_names->fetch_object())
            {
                echo "<li data-dir=" . $names->id . ">" . $names->name . "</li>";


            }

                echo "</ul>";

“li data-dir = names”部分未按预期工作。我在jquery中调试我的值,但是我得到了相同的ID,这是1.但是,当我检查Firebug时,我看到我确实得到了我想要的东西,但这可能是因为HTML计算了4个li元素:< / p>

<li data-dir="1">Nintendo</li>
<li data-dir="2">Playstation</li>
<li data-dir="3">Xbox</li>
<li data-dir="4">PC</li>

这是我的jquery代码:

$(document).ready(function()
{

    var main_menu = $('ul.main_menu');
    var sub_menu = $('ul.sub_menu');

    sub_menu.hide();

    var find_li = main_menu.find('li');

    main_menu.on('click', function()
    {
        //sub_menu.fadeIn(200);
        find_li.data('dir');
        console.log(find_li.data('dir'));

    })



});

有人能指出我正确的方向吗?

非常感谢。

编辑:此问题的解决方案如下。我不明白我的代码足够好看看正确的地方。

1 个答案:

答案 0 :(得分:1)

您的find_lili的列表,这可能是数据无效的原因

如果您尝试这样的事情,它应该有效:

var lis = main_menu.find('li');

lis.click(function()
{
    //sub_menu.fadeIn(200);
    var dir = $(this).data('dir');
    console.log(dir);

})