-1

我正在处理一个我无法弄清楚的问题。

我正在为我的网站创建一个菜单,我从数据库中获取所有值。我有四个项目:“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 中 console.log 我的值,但我得到了相同的 ID,即 1。但是,当我检查 Firebug 时,我发现我确实得到了我想要的,但这可能是因为 HTML 计算了 4 个 li 元素:

<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'));

    })



});

谁能指出我正确的方向?

谢谢一堆。

编辑:这个问题的解决方案如下。我对代码的理解不够好,无法查看正确的位置。

4

1 回答 1

1

find_lilis 的列表,这可能是数据不起作用的原因

如果您尝试这样的事情,它应该可以工作:

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

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

})
于 2013-03-13T10:38:50.067 回答