如何将php变量/函数添加到javascript函数中

时间:2019-05-22 11:22:08

标签: javascript php jquery html

我似乎无法在我的JavaScript中添加php函数/变量。我需要它来将选项设置为我在javascript中使用的动态选择表单。

我在每个人都推荐的JavaScript中尝试了“”。

<?php
function options(){
include "connection.php";
$sql="SELECT DISTINCT PartID, PartName FROM parts";
$result = mysqli_query($conn,$sql);
if ($result) {
while ($row=mysqli_fetch_assoc($result)){
    echo "<option value='{$row['PartID']}'>{$row['PartName']}</option>";
}}}

?>



<script>
$(function(){
$('p#add_part').click(function(){
counter_part += 1;
$('#container').append(
'<strong>Part No.'+ counter_part + '</strong><br />');
$('#container').append(
            '<select><option>Select a Part</option>((((((HERE))))) 
 </select>');
  });
  });
  </script>

相对于我一直尝试的方法,整个功能不起作用。每当我在脚本内添加“”以在选项内​​添加变量时,整个函数就会停止工作。但是,可以添加一个计数器变量。顺便说一句,我在脚本上方还有其他无关紧要的功能。

3 个答案:

答案 0 :(得分:0)

您可以尝试将其存储在PHP的HTML元素中,然后可以从JavaScript中读取它,然后从JavaScript中删除它。您还可以将其设置在页面底部,并将文本颜色设置为与背景颜色相同,以便看不到它。我对PHP不太了解,但是我对JavaScript和HTML知道,所以,抱歉,我只能添加JavaScript和HTML。

HTML:

<span style="background-color:white; color:white;" id="phpVariable"></span>

JavaScript:

var element = document.getElementById("phpVariable"); // Get the element
var phpString = element.textContent; // Get a string
var phpInteger = parseInt(element.textContent) // Get an integer
var phpFloat = parseFloat(element.textContent) // Get a float
element.parentNode.removeChild(element); // Delete the element

对于PHP,您只需要将上面的HTML元素附加到页面底部。如果背景颜色不同,则只需将背景颜色和文本颜色设置为页面的背景颜色即可。这样做将使文本不可见,只需看着它直到JavaScript将其选中并删除该元素即可。

答案 1 :(得分:0)

只需echo使用PHP的JavaScript函数,就可以轻松地使用字符串concat插入函数变量。例如echo 'alert("'.$var.'");或类似的东西!

答案 2 :(得分:0)

我不确定您想要的是什么,但是您可以在JS中使用PHP变量的值,并简单地回显文本。我刚刚编辑了您的作品。在$ options变量中声明options并将其返回给函数,这使它们可以通过echo将它们写入JS。您可以直接使用$ options进行操作,而无需使用options()函数。

PHP代码只能运行一次,然后您的回声值将被视为html文件中的硬编码文本。 仅在您需要一次获得价值时使用此功能。

<?php
function options(){
  include "connection.php";
  $sql="SELECT DISTINCT PartID, PartName FROM parts";
  $result = mysqli_query($conn,$sql);
  if ($result) {
    $options = '';
    while ($row=mysqli_fetch_assoc($result)){
      $options .= "<option value='".$row['PartID']."'>".$row['PartName']."</option>";
    }
  }
  return $options; 
}

?>



<script>
$(function(){
  $('p#add_part').click(function(){
    counter_part += 1;
    $('#container').append(
    '<strong>Part No.'+ counter_part + '</strong><br />');
    $('#container').append(
            "<select><option>Select a Part</option><?php echo options() ?></select>");
  });
});
</script>