2016-07-26 56 views
-1

好的,我對JavaScript很新,並且正在努力使此腳本能夠正常工作。我不知道JavaScript的條款足以搜索這個我猜,因爲它看起來像一個相當容易的事情,但它不工作。這些鏈接應該打開一個側面菜單,可以在屏幕上滑動,並根據點擊哪個鏈接顯示不同的數據。使用Javascript函數中的變量

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不發送我在放在每個變量的onclick

回答

1

看看你在做什麼:

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

這會產生一些HTML看起來像

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

該opennav調用是做兩個未定義變量的數學減法,併發送t他將該未定義的操作作爲該函數的參數。

你可能想要更多的東西一樣:

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

注意額外的(逃跑)的報價,現在生產

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

現在你的參數是一個字符串,而不是一個數學運算。

+0

謝謝。我不知道這會使它成爲一個數學方程式, – MikeV