onClick with参数中的字符串

时间:2013-08-28 20:07:58

标签: php javascript jquery html jquery-ui-dialog

嘿,我正在制作活动日历。日历中的每个事件都由一个按钮呈现,当我点击它时,我想用它传递一些变量。现在它只会让我传递$ id,并且出于某种原因我的两个字符串变量($ description和$ title)

onClick按钮和foreach循环的代码,我获取信息:

 $event_day = $day_num . '.' . $month . '.' . $year;
foreach ($eventArray as $currentEvent) {
    $result = $string->convert_timestamp_to_string($currentEvent['start_date']);
    if ($result === $event_day) {
        $id = $currentEvent['id'];
        $title = $currentEvent['title'];
        $description = $currentEvent['description'];
        $pageContent .= '<input type="button" class="event" onClick="showDialog('.$id. $description. $title.')" value="' . $title . '"/>';

    }
}

这是应该根据传递的变量创建对话框的函数

var showDialog = function(id, description, title) {
$("#dialog-modal").dialog({title:title});

};

我尝试用逗号分隔变量而没有运气。

提前致谢。

3 个答案:

答案 0 :(得分:1)

我想你可能只是没有正确地用逗号分隔。试试这个:

onclick="showDialog(\''.$id.'\',\''.$description.'\',\''.$title.'\')"

如果您的值包含单引号,也可能会遇到问题。

另一个可能更好的选择是将每个值放在data-属性中,使用jQuery绑定事件,并从处理程序中的data-属性中获取值。

答案 1 :(得分:1)

您是否尝试过引用字符串变量:

$pageContent .= '<input type="button" class="event" onClick="showDialog(\''.$id. '\',\''.$description. '\',\''.$title.'\')" value="' . $title . '"/>';

答案 2 :(得分:0)

你当然需要使用逗号。如果您使用的是逗号,但它仍无法使用,我会

echo $description;
echo $title;

只是为了确保它们已填充并且您没有传递空变量。