2014-02-24 102 views
2

使用的Iam This多個日期選擇器。我想將動態日期添加到此文本框中,但它不顯示在文本框內。 Jsfiddle補充說。在多個日期選擇器中插入動態值

<input type="text" id="from-input" value="02/20/2014">

我的PHP代碼就像下面

<?php 
    while($fetch=mysql_fetch_array($qry)) 
    { 
?> 
     <input type="text" id="from-input" value="<?php echo $fetch['sel_date']; ?>"> 
<?php 
    } 
?> 

http://jsfiddle.net/bJ7zj/#update

enter image description here

+1

它的工作對我來說與Chrome的 – Mike

+1

No值= 「2014年2月20日」 默認不顯示。 – Arvie

+0

我以爲你在點擊他們沒有填充輸入的日期後正在談論。也許你應該讓你的問題更清楚些。 – Mike

回答

2

你有一對夫婦的問題。

首先,您不能只是爲要添加multiDatesPicker的元素添加一個值,並期望選擇該日期,因爲它會清除值。相反,使用備用場,就像這樣:

<div class="box"> 
<input type="text" id="from-input"> 
</div> 
<input type="hidden" id="orig-dates" value="<?php echo $fetch['sel_date']; ?>"> 

然後在你的JS,你首先創建的日期選擇器,然後將日期添加到它:

$('#from-input').multiDatesPicker(); 
var orig_dates_str = $("#orig-dates").val(); 
    if (orig_dates_str.length > 0) { 
     var orig_dates_arr = orig_dates_str.split(","); 
     var dates = new Array(); 
     for (i=0; i<orig_dates_arr.length; i++) { 
      numbers = orig_dates_arr[i].split("-"); 
      d = new Date(numbers[0], numbers[1] - 1, numbers[2]); 

      dates.push(d); 
     } 
     $('#from-input').multiDatesPicker('addDates', dates); 
    } 

那麼你的第二個錯誤是格式「MM/DD/YYYY」無法識別。相反,你需要做「YYYY-MM-DD」。

在PHP中,你可以做到這一點,像這樣:

$date = new DateTime($fetch['sel_date']); 
echo $date->format('Y-m-d'); // Put this into the <input> 

See it on JSFiddle

+1

我還希望在輸入文本框中顯示2014-02-20。謝謝@Mike – Arvie

+0

你必須把它放在那裏。 '$( '#從輸入')VAL(orig_dates_str);'。 [[Fiddle]](http://jsfiddle.net/bJ7zj/2/)] – Mike

+0

真的有用..偉大..邁克 – Arvie

相關問題