2016-07-26 3 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

Смежные вопросы