[英]Get selected date ID (from database) in input field's value with UI Datepicker
我有一個注冊表,人們可以從數據庫中選擇多個日期。 我使用jQuery UI Datepicker。 一切正常,但是當我提交表單時,它為我節省了日期本身,例如: "09/16/2012,08/04/2011,04/19/1994"
。 我想存儲日期的ID。
有誰知道如何獲取所選日期的ID,並將其放入value=""
屬性中?
<input type="text" class="datepicker" name="live[]" value="">
<script>
var dates = [<?php $i=0; while($dataDate = mysql_fetch_object($dates)) : echo ($i>0) ? ", " : ""; echo '"'.date("n-j-Y", strtotime($dataDate->date)).'"'; $i++; endwhile;?>];
var enabledDays = dates;
function enableAllTheseDays(date) {
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
for (i = 0; i < enabledDays.length; i++) {
if($.inArray((m+1) + '-' + d + '-' + y,enabledDays) != -1) {
return [true];
}
}
return [false];
}
$('.datepicker').datepicker({
beforeShowDay: enableAllTheseDays,
yearRange: "1994:2012",
changeMonth: true,
changeYear: true
});
</script>
好的,這是獲得期望結果的全新方法。 首先,將日期放入json obejct中。
讓您的SQL查詢選擇ID,如果您有php json,請立即從數據庫中獲取日期,只需使用
<?php
while($row = mysql_fetch_object($query) ) {
$data[] = array( "id" => $row['id'], "date" => $row['date'] );
}
echo "var dates = [" . json_encode($data) . "];";
?>
否則,您可以這樣做:
<?php
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.