0

嘿,我正在制作活动日历。日历中的每个事件都由一个按钮表示,当我单击它时,我想传递一些变量。现在它只会让我传递 $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});

};

我试过用逗号分隔变量,但没有成功。

提前致谢。

4

3 回答 3

1

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

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

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

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

于 2013-08-28T20:10:52.453 回答
1

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

$pageContent .= '<input type="button" class="event" onClick="showDialog(\''.$id. '\',\''.$description. '\',\''.$title.'\')" value="' . $title . '"/>';
于 2013-08-28T20:15:52.550 回答
0

您当然需要使用逗号。如果您使用逗号,但它仍然无法正常工作,我会

echo $description;
echo $title;

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

于 2013-08-28T20:11:52.983 回答