1
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';
    }
4

3 に答える 3

4

load_tags引数をエスケープされた一重引用符で囲みます。

echo '<a onclick="load_tags(\''.$list['id'].'\')"></a>';
于 2012-05-27T15:05:58.193 に答える
1

文字列は引用符で囲む必要があります。

echo '<a onclick="load_tags(\"'.$list['id'].'\")"></a>'
于 2012-05-27T15:06:05.790 に答える
0

構文エラーが発生するためです。intを使用してJS関数を呼び出す:

function(123) 
{
 ....
}

そして文字列で:

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

'がない場合、文字列名で変数を検索します(有効な変数名の場合)。

于 2012-05-27T15:07:16.900 に答える