0

こんにちは、イベントカレンダーを作成中です。カレンダーの各イベントはボタンで表され、クリックするといくつかの変数を渡したいと思います。現時点では、$id のみを渡すことができ、何らかの理由で 2 つの文字列変数 ($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

文字列変数を引用してみましたか:

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

おそらくコンマで正しく区切られていなかったと思います。これを試して:

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

値に一重引用符が含まれている場合にも問題が発生する可能性があります。

より適切に機能する可能性のある別のオプションは、各値をdata-属性に入れ、イベントを jQuery にバインドdata-し、ハンドラーで属性から値を取得することです。

于 2013-08-28T20:10:52.453 に答える
0

確かにコンマを使用する必要があります。コンマを使用していて、それでも機能しない場合は、

echo $description;
echo $title;

それらが入力されていることを確認し、空の変数を渡していないことを確認してください。

于 2013-08-28T20:11:52.983 に答える