我有一个JS函数,它会将值添加到当前URL的值。下面有两个几乎相同的链接,唯一的区别是传递给JS函数的变量。一个链接通过$ month,另一个链接通过$ event_category。出于某种原因,当传递$ event_category时,JS函数甚至不会被调用。谁知道我做错了什么?
您必须向右滚动才能看到差异所在。
$month = 1;
$event_category = (string) ($eventCategories[$k]["event_category"]);
echo gettype($event_category); // prints "string"
// doesn't work?
echo '<div class="month selected"><a href="javascript:void(0);" onclick="javascript:insertParam('. "'event_category'" .', '. $event_category .');" class="button" role="button">
<image width="100" height="60" src="images/'. $images_list[$eventCategories[$k]["event_category"]].'"></a></div>';
// works
echo '<div class="month selected"><a href="javascript:void(0);" onclick="javascript:insertParam('. "'event_category'" .', '. $month .');" class="button" role="button">
<image width="100" height="60" src="images/'. $images_list[$eventCategories[$k]["event_category"]].'"></a></div>';
答案 0 :(得分:2)
你应该在$ event_category周围加上引号,否则它将被javascript解释为变量。所以,转换
. $event_category .
到
. '"' . $event_category . '"' .