嘿,我正在制作活动日历。日历中的每个事件都由一个按钮呈现,当我点击它时,我想用它传递一些变量。现在它只会让我传递$ 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});
};
我尝试用逗号分隔变量而没有运气。
提前致谢。
答案 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;
只是为了确保它们已填充并且您没有传递空变量。