我从我的数据库中检索一个值,在屏幕上显示为 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
答案 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)
您的代码有两个问题
- 您尚未关闭打开div标签
- 使用,分隔两个参数
醇>
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>