2013-08-28 68 views
0

嘿,我正在製作活動日曆。日曆中的每個事件都由一個按鈕來表示,當我點擊它時,我想通過一些變量。現在只會讓我傳遞的$ id並由於某種原因,既不是我兩個字符串變量($說明和$標題)onClick參數中的字符串

代碼爲的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

他們應該是逗號分隔,並觀看引號 – 2013-08-28 20:11:52

+0

嘗試'.ID '' $說明 '' $ title.' –

+0

。另外如果這些值是字符串,你需要在它們周圍加引號,所以它應該是'。\'$ id \'。','。'$ description \'。','。'$ title \'。 –

回答

1

我想你可能只是沒有用逗號正確分隔。試試這個:

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

如果你的值包含單引號,你也可能遇到問題。

另一個可能更好的選擇是將每個值放入data-屬性中,使用jQuery綁定事件,並從處理程序中的data-屬性中獲取值。

+0

請勿在* camelCase *中編寫屬性名稱。 –

+0

@HashemQolami你說得對,我直接複製他的代碼。 –

+0

謝謝你的工作! –

0

您當然需要使用逗號。如果您使用逗號,它仍然沒有工作,我會

echo $description; 
echo $title; 

只是爲了確保它們填充,你不及格空變量。

1

你試過引述字符串變量:

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

我也是forgat,你也必須用逗號隔開參數 – arielcr

+0

完全適合我!謝謝 –