带有类别和子类别的下拉菜单无法正常工作

五郎

因此,我有带有类别和子类别的下拉垂直菜单。它已正确填充,但是单击并选择一些子类别时出现问题。它什么都不会发生。只是下拉列表已关闭,不会加载新页面。这是cat.php

function category_list($category_parent_id = 0)
{
// build our category list only once
static $cats;
if (!is_array($cats)) {
    $sql = 'SELECT * FROM cat';
    $res = mysql_query($sql);
    $cats = array();
    while ($cat = mysql_fetch_assoc($res)) {
        $cats[] = $cat;
    }
}
// populate a list items array
$list_items = array();
foreach($cats as $cat) {
    // if not a match, move on
    if (( int )$cat['parentid'] !== ( int )$category_parent_id) {
        continue;
    }
    // open the list item
    $list_items[] = '<li>';
    // construct the category link
    $list_items[] = '<a href="product.php?id=' . $cat['id'] . '">';
    $list_items[] = $cat['name'];
    $list_items[] = '</a>';
    // recurse into the child list
    $list_items[] = category_list($cat['id']);
    // close the list item
    $list_items[] = '</li>';
}
// convert to a string
$list_items = implode('', $list_items);
// if empty, no list items!
if ('' == trim($list_items)) {
    return '';
}
// ...otherwise, return the list
return '<ul id="nav-cat">' . $list_items . '</ul>';

}

这是下拉脚本

        $(document).ready(function () {
        $('#nav-cat > li > a').click(function (e) {
            $('#nav-cat li ul').slideUp();
            if ($(this).attr('class') != 'active') {
                $('#nav-cat li a').removeClass('active');
                $(this).next().slideToggle();
                $(this).addClass('active');
            } else {
                $('#nav-cat li a').removeClass('active');
            }
            e.preventDefault();
        });
    });

当我单击链接时,$list_items[] = '<a href="product.php?id=' . $cat['id'] . '">';没有任何反应。这就是我传递product.php的方式id我知道有点混乱...

  if(isset($_GET['id']) && is_numeric($_GET['id'])){
   $id = $_GET['id'];
  $query = "SELECT * FROM products WHERE cat = '" . $_GET['id']."'";
  $result = mysqli_query($con, $query) or die("Query failed: " . mysqli_errno($con));
  $line = mysqli_fetch_array($result, MYSQL_BOTH);
  if (!$line) echo '';
      $previd = -1;
      $currid = $line[0];
      if (isset($_GET['id']) && is_numeric($_GET['id'])) {
      $previous_ids = array();
     do {
    $previous_ids[] = $line[0];
    $currid = $line[0];
    if ($currid == (int)$_GET['id']) break;
    $previd = end($previous_ids);
    $line = mysqli_fetch_array($result, MYSQL_BOTH);
} while ($line);
 }

if ($line) {
...

我真的不知道问题出在哪里。有任何想法吗?如果需要,我可以发布更多代码。

里克

JQuery API上的preventDefault所述,它说“单击的锚点不会将浏览器带到新的URL”。如果您尝试加载内容而不刷新/离开页面,请考虑使用AJAX。

附带说明:您的递归php函数会创建许多<ul>具有相同ID的。考虑改用类。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

类别和子类别以及产品查询无法正常工作

来自分类Dev

jQuery下拉菜单无法正常工作

来自分类Dev

从数据库生成带有主类别和子类别的web2py下拉菜单

来自分类Dev

MySQL规范化,带有带有第一层子类别和第二层子类别的类别

来自分类Dev

下拉菜单类别/子类别

来自分类Dev

我的下拉菜单无法正常工作

来自分类Dev

带有类别和子类别的下拉列表

来自分类Dev

类别和子类别的类图

来自分类Dev

下拉菜单无法正常工作。(Angular 8和Boostrap)

来自分类Dev

表中带有子类别的类别-PHP + MYSQL

来自分类Dev

带有子类别的Joomla Web链接未显示

来自分类Dev

类别和子类别以及产品查询无法正常工作

来自分类Dev

将具有特定类别的文本添加到下拉菜单<select>

来自分类Dev

CSS下拉菜单无法正常工作

来自分类Dev

下拉菜单无法正常工作

来自分类Dev

下拉菜单不隐藏子类别

来自分类Dev

创建带有子类别的堆叠图

来自分类Dev

在Chromium下,带有下拉菜单的角贴膜无法正常工作

来自分类Dev

带有类别和子类别的下拉列表

来自分类Dev

下拉菜单无法正常工作

来自分类Dev

具有自动完成功能和类别的Wicket下拉菜单

来自分类Dev

带有Bootstrap下拉菜单的Rails无法正常工作

来自分类Dev

带有子类别的Django类别

来自分类Dev

Jquery 下拉菜单无法正常工作

来自分类Dev

HTML 下拉菜单无法正常工作

来自分类Dev

我的下拉菜单无法正常工作

来自分类Dev

尝试创建类别和子分类下拉菜单

来自分类Dev

下拉菜单无法正常工作。(html)

来自分类Dev

下拉菜单无法正常工作