当参数是整数但不是字符串时,javascript onclick函数有效吗?

时间:2012-05-27 15:00:45

标签: php javascript jquery ajax

echo '<a onclick="load_tags('.$list['id'].')"></a>'

list[id]是一个数字时,它有效。但是当list[id]是单词时,它不起作用。为什么呢?

下面是关于功能和我正在做的事情的一些背景知识。虽然没有必要回答这个问题。

脚本

function load_tags(id){
        $.post('../php/tags/get_tags.php',{id:id},function(data){
            $('#tags_selected').text(data);
        });
    }

get_tags.php

$tag_id=$_POST['id'];
    echo $tag_id;
    $users_with_this_tag=show_all_users_with_this_tag($tag_id);
    if(count($users_with_this_tag)!=0){
            foreach($users_with_this_tag as $key => $list){
                echo $list['user_id'];
            }
    }else{
        echo'Nobody with this tag';
    }

3 个答案:

答案 0 :(得分:4)

使用转义的单引号包围load_tags参数:

echo '<a onclick="load_tags(\''.$list['id'].'\')"></a>';

答案 1 :(得分:1)

字符串应该有引号:

echo '<a onclick="load_tags(\"'.$list['id'].'\")"></a>'

答案 2 :(得分:0)

因为语法错误而烦恼。 用int:

调用JS函数
function(123) 
{
 ....
}

用字符串:

function('foo') 
{
 ....
}

如果没有',它会在字符串名称下搜索变量(如果它是有效的变量名称)。