我正在解决一个我无法弄清楚的问题。
我正在为我的网站创建一个菜单,我可以从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'));
})
});
有人能指出我正确的方向吗?
非常感谢。
编辑:此问题的解决方案如下。我不明白我的代码足够好看看正确的地方。
答案 0 :(得分:1)
您的find_li
是li
的列表,这可能是数据无效的原因
如果您尝试这样的事情,它应该有效:
var lis = main_menu.find('li');
lis.click(function()
{
//sub_menu.fadeIn(200);
var dir = $(this).data('dir');
console.log(dir);
})