带有2个参数的javascript函数不起作用

时间:2014-10-24 17:32:37

标签: javascript php

说明:

我有一个PHP脚本,在html页面上显示div

echo '<div class = "star_box" id = "'.$each_status['post_id'].'" onmousedown = "star_it(this.id)"></div>';

现在,当我点击这个div时,star_it函数被调用并且它工作正常......

问题

我想在它的功能中传递另一个参数..像这样

echo '<div class = "star_box" id = "'.$each_status['post_id'].'" onmousedown = "star_it(this.id,'.$each_status['regno'].')"></div>';

或简单字母(如果有star_it(this.id,s)

但是当我这样做时,该函数停止工作,因为当我单击div时,函数不会被调用....

我不知道为什么我被卡住了,现在我的星级评分系统不起作用......我完全不知道出了什么问题

任何人?

3 个答案:

答案 0 :(得分:3)

您应该修改字符串引用,如下所示:

<?php 
$status = "second test";
echo '<div class="star_box" id="'.$id.'" onmousedown="star_it(this.id,'."'".$status."'".');" >Hello</div>';
?>

<script>
    function star_it(foo1,foo2){
        console.log(foo1);
        console.log(foo2);
    }
</script>

此示例适用于我。

使用您的代码:

<?php 
echo '<div class="star_box" id="'.$id.'" onmousedown="star_it(this.id,'."'".$each_status['regno']."'".');" >Hello</div>';
?>

答案 1 :(得分:2)

你去吧

echo '<div class = "star_box" id = "'.$each_status['post_id'].'" onmousedown = "star_it(this.id,\''.$each_status['regno'].'\')"></div>';

你忘记在你的字符串之前和之后添加\',浏览器上的JS引擎会将你的字符串视为一个未定义的变量,因此该函数将无效。

//我的英语不太好。

答案 2 :(得分:-1)

尝试

echo '<div class = "star_box" id = "'.$each_status['post_id'].'" onmousedown = "star_it(this.id,\"'.$each_status['regno'].'\")"></div>';