2016-07-26 8 views
-1

私はかなりjavascriptを使い慣れていて、このスクリプトを動作させようとしています。私はこれを検索するのに十分なjavascriptの条件を知らない。それはかなり簡単なことだと思われるからだと思うが、うまくいかない。リンクは、画面上をスライドするサイドメニューを開き、クリックされたリンクに応じて異なるデータを表示することになっています。一部のHTMLを生成しますJavascript関数の変数を使用する

echo '<span onclick="openNav(mySidenav-   '.$row['jobname'].')">'.$row['jobname'].'</span><br>'; 

を:

My Script: 
/* Open the sidenav */ 
function openNav(boxid) { 
    document.getElementById(boxid).style.width = "100%"; 
} 

/* Close/hide the sidenav */ 
function closeNav() { 
    document.getElementById("mySidenav").style.width = "0"; 
} 


My Body: 
    include('dbconn.php'); 

    $sql = 'SELECT * FROM joblist'; 
    $result = $conn->query($sql); 
    while ($row = $result->fetch_assoc()) { 
     echo '<span onclick="openNav(mySidenav-   '.$row['jobname'].')">'.$row['jobname'].'</span><br>'; 
     echo '<div id="mySidenav-'.$row['jobname'].'" class="sidenav">'; 
     echo '<a href="javascript:void(0)" class="closebtn"  onclick="closeNav()">&times;</a>'; 
     $eachrow = explode("," , $row["itemlist"]); 

    $arrlength = count($eachrow); 
     for($x = 0; $x < $arrlength; $x++) { 
      echo $eachrow[$x]; 
      echo "<br>"; 
     } 
     echo "</div>"; 

    } 

boxidがそれぞれに私が置いて変数を送信していない理由を私はよく分からないが、あなたがやっていることで

答えて

1

ルックをonclickのそれは

呼び出しが2つの未定義の変数の数学的な引き算をやって、そしてトンを送っているopennav
<span onclick="openNav(mySidenav-   jobname)">jobname</span><br> 

のように見えますその関数の引数としての未定義の演算の結果です。

あなたはおそらくもっと何かしたい:

echo '<span onclick="openNav(\'mySidenav'.$row['jobname'].'\')">'.$row['jobname'].'</span><br>'; 
           ^^----------------------------^^ 

注意を余分には、今すぐあなたの引数が文字列ではなく、数学の操作で、今

<span onclick="openNav('mySideNav-jobname')">jobname</span><br> 

を生成し、引用符を、(エスケープ)。

+0

ありがとうございます。私はそれがそれを数学的方程式にすることを知らなかった - – MikeV

関連する問題