所以我使用datepicker插件來製作可用性日曆。這是我的javascript: http://pastebin.com/H7D9PcAgjQuery datepicker日曆 - 調用函數更新數據庫
當調用dpSetSelected()時,它也調用dateSelected(),它會觸發對我的PHP腳本的AJAX調用。我需要一種方法來只更新數據庫,如果點擊日期而不是預先加載的。當我預先加載日期時,它們被髮送到PHP頁面,隨後被刪除。
所以我使用datepicker插件來製作可用性日曆。這是我的javascript: http://pastebin.com/H7D9PcAgjQuery datepicker日曆 - 調用函數更新數據庫
當調用dpSetSelected()時,它也調用dateSelected(),它會觸發對我的PHP腳本的AJAX調用。我需要一種方法來只更新數據庫,如果點擊日期而不是預先加載的。當我預先加載日期時,它們被髮送到PHP頁面,隨後被刪除。
我與作者交談並使用他的建議:
$(function()
{
var passedDates = $('#passed-dates').val().split(','); // works okay
var dp = $('.date-pick')
.datePicker(
{
createButton:false,
closeOnSelect:false,
selectMultiple:true,
inline:true
}
);
for (var i = 0; i < passedDates.length - 1; i++)
{
dp.dpSetSelected(passedDates[i]);
}
dp.bind(
'click',
function()
{
$(this).dpDisplay();
this.blur();
return false;
}
)
.bind(
'dateSelected',
function(e, selectedDate, $td, state)
{
$("#info").load("test1.php?date="+encodeURIComponent(selectedDate)+"&land-id="+<?=$_GET['eid'];?>);
}
);
});
這會在啓動任何綁定之前更新所選日期,以避免腳本無意中更新。
好的信息。另一種方法來剝皮貓。 – 2010-05-14 20:11:42
爲什麼不將AJAX調用綁定到更改函數而不是dateSelected?這種方式當日期預先加載時,不會發生任何事情,但如果您通過單擊它來更改日期,則會觸發。這似乎去努力,我已經實現了日期選擇器罰款:
用下面的代碼改變$("#startDate, #endDate")
.datepicker({
showOn: 'button',
buttonImage: '/images/icon_calendar.png',
duration: 0 })
.change(function() {
//do stuff
});
所以:
.bind( 'dateSelected', function(e, selectedDate, $td, state) {
$("#info").load("test1.php?date="+encodeURIComponent(selectedDate)+"&land-id="+<? =$_GET['eid'];?>);
});
到:
.change(function() {
$("#info").load("test1.php?date="+$(this).val()+"&land-id="+<?=$_GET['eid'];?>);
});
而我的PHP腳本存儲「預訂」日期: http://pastebin.com/ip12s2C5 。 和預加載日期到腳本: http://pastebin.com/ThjZ9Vu5 – erbaker 2010-05-14 18:46:57