-1

わからない問題に取り組んでいます。

データベースからすべての値を取得する Web サイトのメニューを作成しています。「ニンテンドー」「プレイステーション」「XBOX」「PC」の4つのアイテムを持っています。それぞれに固有の ID があります。アイテムの 1 つがクリックされたときに、その一意の ID を取得したいと考えています。

このコードを使用すると、値が Web サイトに出力されます。

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 に答える