jQuery、そしておそらく JavaScript がどのように機能するかについて、根本的な混乱があります。jQuery関数にパラメータを渡して、それらのメソッドがそれらの変数を使用して関数を呼び出すことができるようにする方法という同じ問題を抱え続けています。これが私の最近の例です:
fullcalendar プラグインを使用しています。カレンダーをクリックすると、コールバック メソッド「select」が起動します。選択コールバックには、「startDate」「endDate」などの特定のパラメーターが自動的に与えられます。必要なのは、jQuery ダイアログを開いて追加情報を収集し、新しいイベントをサーバーに投稿することです。これに沿って:
$('calendar').fullcalendar({
...
select: function (startDate, endDate) {
$('#newEventPopup').dialog('open');
htmlには次のようなものがあります:
<div title = 'How cool is this event?' id='newEventPopup'>
<select id='coolness'>
<option value = 'super'>Super!</option>
<option value = 'cool'>Cool</option>
<option value = 'dorky'>Dorky</option>
<option value = 'lame'>Lame!</option>
</select>
</div>
最後に、フルカレンダー変数と新しい変数をサーバーに送信するボタンをダイアログに追加したいと思います。
var coolness = $('#coolness');
$('#newEventPopup').dialog({
modal: true,
autoOpen: false,
...
button: {
Save : function (){
$.ajax({
url: 'sample.php'
type: 'POST'
data: {
'start' : startDate,
'end' : endDate,
'coolness' : coolness
}
success: $('calendar').fullCalendar('refetchEvents')
}
}
}
});
これを構築する方法や、ダイアログの「保存」ボタンが変数「startDate」「endDate」および「coolness」の意味を「認識する」ようにコードを配置する場所がわかりません。私はもともと Java プログラマーであり、JavaScript 関数ベースの変数スコープにまだ苦労しています。
私は、あるメソッドが外部関数 ($.dialog を呼び出す select コールバック メソッドなど) を指すようにする多くのそのような jQuery メソッドでこの問題を抱えていました。関数) しかし、どのようにパラメーターを $.ajax または $.dialog に渡して、独自のメソッドがそれらの値を使用できるようにしますか?
ありがとう、