好吧,所以这是一个全新的方法来获得理想的结果。
首先,将日期放在json obejct中。
使您的SQL查询从数据库中选择id,date
现在,如果您有php json,请使用
while($row = mysql_fetch_object($query) ) {
$data[] = array( "id" => $row['id'], "date" => $row['date'] );
}
echo "var dates = [" . json_encode($data) . "];";
?>否则你可以这样做:
echo "var dates = [";
while($row = mysql_fetch_object($query) ) {
$data[] = '{"id" : "' .$row["id"] . '", "date" : "' . $row["date"] . '" }';
}
echo implode(',', $data);
echo "];";
?>现在我们得到的json对象应该是这样的
[{"id" : "12", "date": "2012-02-01"},{"id" : "33", "date": "2012-02-03"}]
我稍微调整了你的函数,使用我们的json对象
function enableAllTheseDays(date) {
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
var datestr = y + "-" + m + "-" + d;
for (i = 0; i < dates.length; i++) {
if( dates[i].date == datestr) {
return [true];
}
}
return [false];
}
$('.datepicker').datepicker({
beforeShowDay: enableAllTheseDays,
yearRange: "1994:2012",
changeMonth: true,
changeYear: true
});现在回到获得id
$('.datepciker').on('change',function() {
for(var i = 0; i < dates.length; i++) {
if( dates[i].date == $(this).val() )
var index = dates[i].id;
}
$("#date_id_holder").val( index );
});现在你的$(“#date_id_holder”)包含所选日期的ID