2017-01-27 51 views
1

问题是,当我按左导航“a”元素它应该show()我div元素,但它会自动去hide()它。 “a”元素是用php创建的,它的href为?id=$product,当我按类closebtn“a”元素在我的导航栏中时,它show()是我的div。jQuery与php显示div元素

的JavaScript:

$(document).ready(function() { 
    $(".sisu").hide(); 
    $('.vasaknav a').click(function() { 
     $(".sisu").show(); 
    }); 
}); 

PHP:

<?php 
    $kask=$yhendus->prepare("SELECT id,Product from store GROUP BY Product"); 
    $kask->bind_result($id, $Product); 
    $kask->execute(); 

    while($kask->fetch()){ 
     echo "<a href='?id=$Product' style='color:red;'>".htmlspecialchars($Product)."</a>"; 
    } 
?> 

HTML:

<div id="Myvasaknav" class="vasaknav"> 
    <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a> 
    <?php require('php/navlist.php'); ?> 
    <a href=# >test</a> 
</div> 

<span style="font-size:30px;cursor:pointer" onclick="openNav()" id="click">&#9776;</span> 
+0

当你点击'a'重定向发生。元素变得隐藏。 –

+0

当你点击一个带有'href ='?id = $ Product''的链接时,它会通过打开该URL来重新加载页面,所以当前页面上的Javascript不起作用。 – Barmar

+0

你能粘贴生成的HTML源代码吗?我想知道你的$ Product是否有价值。 – Pete

回答

0

要防止默认动作当c舔<a>(这是需要刷新页面/别处重定向),你应该改变你的代码,如:

$(document).ready(function() { 
    $(".sisu").hide(); 
    $('.vasaknav a').click(function() { 
     $(".sisu").show(); 
     return false; // prevent default action 
    }); 
}); 

有了这个,你会留在同一页上,并.sisu元素将被显示。

+0

但是我怎样才能使用我的“if(isSet($ _ REQUEST [”id“]))”如果它阻止默认的一个动作 – Somepub

+0

不清楚 - 如果request [id] –