试图从php发送两个值到JS

时间:2016-10-12 08:35:10

标签: javascript php jquery html5

我从我的数据库中检索一个值,在屏幕上显示为 0。

echo "<article>" . $gr_display['status'] . "</article>"; 

然后当我点击这个DIV时,我想将状态和id发送到我的JS功能,编辑。该对象的ID为 79

echo "<div onclick='edit( " . $gr_display['status'] . "." . $gr_display['id'] . " )' </div>";

然后开始我的剧本

function edit(status, id) { 
console.log(status, id ); some code later }

但我最终得出的结果是,id和status合并为一个值的设定,而另一个“未定义”

从控制台日志: 0.79 undefined

5 个答案:

答案 0 :(得分:4)

请在PHP和JavaScript之间明确说明。您需要使用正确的分隔符并分开。

echo "<div onclick='edit( " . $gr_display['status'] . ", " . $gr_display['id'] . " )'> </div>";
//-----------------------------------------------------^

.替换为,。另请使用>作为开场<div>。您忘了关闭开场div

答案 1 :(得分:3)

你有拼写错误,在{2}变量之间将.更改为,

    echo "<div onclick='edit( " . $gr_display['status'] . "," . $gr_display['id'] . " )'> </div>";
//---------------------------------------------------------^

或更好地使用数据属性

echo "<div class='edit-element' data-status='" . $gr_display['status'] . "' data-id='" . $gr_display['id'] . "'></div>";

    $('.edit-element').click(function(){
          console.log($(this).attr('data-status'),$(this).attr('data-id'));
    });

答案 2 :(得分:1)

用这个替换div: -

echo "<div onclick='edit( " . $gr_display['status'] . "," . $gr_display['id'] . " )' </div>";

答案 3 :(得分:1)

问题是这一行的原因:

echo "<div onclick='edit( " . $gr_display['status'] . "." . $gr_display['id'] . " )' </div>";

请注意,在两个参数之间放置了一个'。'而不是','(逗号)。这样,JS函数中的第二个参数没有值

答案 4 :(得分:1)

  

您的代码有两个问题

     
      
  1. 您尚未关闭打开div标签
  2.   
  3. 使用,分隔两个参数
  4.   
echo "<div onclick='edit( " . $gr_display['status'] . ", " . $gr_display['id'] . ")'>ddd </div>";


<script type="text/javascript">
    function edit(status, id) { 
        alert(status);
        alert(id);
    }
</script>