将PHP变量传递给Javascript疑难解答

时间:2017-04-07 19:46:13

标签: javascript

这是对Insert Input Text After Select Change With Dynamic IDs

fiddle的跟进

我通过创建提醒进行了故障排除。

<script type="text/javascript">
  var employeeID = <?= json_encode($addTech['employeeID']) ?>;
  var selectID = "#duration-" + employeeID;
  var textID = "#promDate-" + employeeID;
  var displayDate = "<?= $displayDate ?>";
  $(selectID).change(function(){
//       $(textID).val(displayDate);
    try {
      alert(employeeID);
    } catch(err) {
      document.getElementById("demo").innerHTML = err.message;
    }
  });
</script>

在源代码中,我看到第一个条目是var employeeID = 1;但当我做出选择更改时,我在警报框中得到47。这种形式有大约20名员工;所有的employeeID在源代码中都是正确的,但是警报会为它们返回47。

任何线索?

感谢。

2 个答案:

答案 0 :(得分:0)

你在php中得到的变量是用JSON编码的。要将其作为JavaScript变量访问,您必须对其进行解码:

var employeeID = <? echo json_encode($addTech['employeeID']) ?>;
employeeID = JSON.parse(employeeID);

但是,如果employeeID是一个整数值而不是一个对象,则不需要对其进行编码,只能直接传递该值:

var employeeID = <? echo $addTech['employeeID'] ?>;

答案 1 :(得分:0)

对于其他试图将动态变量传递给javascript / JQuery的人来说,这对我有用:

#!/bin/bash
git checkout master & git pull upstream master & git push