私はjQuery、おそらくjavascriptの動作について根本的な混乱があります。同じ問題、jQuery関数にパラメータを渡す方法、そのメソッドがこれらの変数を使って関数を呼び出すことができるようにしています。ここに私の最新の例があります:fullcalendar selectコールバックでjQueryダイアログを使用するには?
私はfullcalendarプラグインを使用しています。カレンダーをクリックすると、コールバックメソッド 'select'が発生します。 selectコールバックには自動的に特定のパラメータが与えられます: 'startDate' 'endDate'などです。私が望むのは、jQueryダイアログを開いて追加情報を収集し、新しいイベントをサーバーにポストすることです。この線に沿って:
<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>
最後に、私はfullcalendar変数と同様に投稿するダイアログにボタンを追加したいと思います。HTMLで
$('calendar').fullcalendar({
...
select: function (startDate, endDate) {
$('#newEventPopup').dialog('open');
私はこのような何かを持っていますサーバーへの新しい変数:
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に」「を知っている」ようにコードを配置しますとクールネス'すべての意味。もともと私はJavaプログラマであり、私はまだJavaScript関数ベースの変数スコープに苦しんでいると言及する必要があります。
このようなjQueryメソッドでは、(コールバックメソッドが$ .dialogを呼び出すような)いくつかの外部関数を指し示し、別のメソッドを実行するようなメソッドが必要になりました(ボタンコールバックメソッドのように$ .ajax関数)、どのように$ .ajaxや$ .dialogにパラメータを渡して、独自のメソッドでそれらの値を使用できるのでしょうか?
おかげで、fiddleから
ありがとうございました。それは私の質問に完全には答えていませんでしたが、正しい方向に私を指摘しました。サンプルの選択パラメータは入力フィールドに割り当てられ、実際のダイアログでは無視されます。しかし、これは、非表示の入力フィールドを使用してこれらの値を一時的に格納し、jQuery関数がアクセスできるようにするという考えを呼び起こしました。ありがとう。 – MyTimeFinder