2017-01-27 11 views
1

問題はleft-nav "a"要素を押すとdiv要素がshow()になりますが、それは自動的にhide()になります。 "a"要素はphpで作成され、?id=$productのhrefを持っています。私はクラスclosebtnを押して、 "a"要素を私のnavbarに入れます。show()は私のdivです。div要素を表示するPHPを使ったJQuery

は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:C

<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

防止するために、デフォルトのアクションあなたは、同じページにとどまるだろうと.sisu要素が表示されますこれにより

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

:あなたのようにコードを変更する必要があります(他にリダイレクトする/ページをリロードしている)<a>を舐めます。

+0

しかし、どうすればデフォルトのアクションを防ぐならば、 "if(is_request [" id "]))"を使うことができますか? – Somepub

+0

- 'request [id]'が表示されたら、フローをどのように変えるべきですか? –

関連する問題