2011-11-20 23 views
6

我使用jQuery的日期選取器作爲我的表單字段之一 - 出生日期。jQuery日期選取器不顯示原始文本值

該字段是使用PHP生成的,並將填充用戶的原始出生日期。點擊該字段將顯示該小部件,它完美無瑕。

但是,即使它出現在瀏覽器的源代碼中,該文本框也不會顯示原始值。我正在使用Google Chrome。

以下是jQuery代碼:

$(function() 
{ 
    $("#DatePicker").attr("readonly","readonly"); 

    $("#DatePicker").datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     yearRange: "1950:+10" 
    }); 

    $("#DatePicker").datepicker("option","dateFormat","dd MM yy"); 
}); 

這是PHP代碼:

echo "<INPUT TYPE=\"TEXT\" NAME=\"$FieldName\" VALUE=\"$OriginalData\" ID=\"DatePicker\" CLASS=\"FullLength\">"; 

而下面是HTML代碼(從源代碼複製):

<INPUT TYPE="TEXT" NAME="DateOfBirth" VALUE="18 August 2012" ID="DatePicker" CLASS="FullLength"> 

請告訴我什麼是錯的。謝謝。

+0

剛纔試用了普通的jQuery日期選擇器,無法重現。最有可能的其他代碼(無論是服務器端還是客戶端)都會覆蓋該值並將其清除。 –

+0

@ShadowWizard:檢查[此演示](http://jsfiddle.net/z7YJ5/1/)VS [this one](http://jsfiddle.net/z7YJ5/2/)。它清除了該字段,並且看起來像是另一個日期選擇器。我可能錯過了一些東西(只能快速檢查文檔),但我真的希望OP的代碼能夠正常工作。如果你知道一些事情,請加入我的興趣。 –

+0

@Madmartigan很好的捕獲,沒有注意到double datepicker的使用 - 聽起來像他們的代碼中的錯誤,並不期望被多次調用。所有選項都必須在一次通話中給出,沒有任何傷害。 –

回答

4

我不知道爲什麼一個選項,但此行的清算價值:

$("#DatePicker").datepicker("option","dateFormat","dd MM yy"); 

嘗試添加選項,這樣如果可能的話,在worked for me Firefox和Chrome:

$("#DatePicker").datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    dateFormat: "dd MM yy" 
}); 
+0

哦,工作。非常感謝你!!!=) –

+0

這僅適用於顯示預填充日期,但不適用於選擇新日期時的格式 – Graham

1

嘗試使用如Firefox其他瀏覽器如果檢查瀏覽器兼容性問題,不知道PHP,但在asp.net他們是設置文本框的文本知名度,真正

+0

在我的情況下,這是一個兼容性問題。使用Chrome和Safari,但不使用Firefox。 – J0ANMM

1

您應該使用setDate而不是直接設置輸入值。

$("#birthday").datepicker() 
.datepicker("option", "dateFormat", 'dd.mm.yy') 
.datepicker('setDate', '<?= $humanoid->getBirthday()->format('d.m.Y') ?>'); 
+0

這是一個正常工作的格式 - 不是接受的答案 – Graham

0

根據聶的回答,這是我得到了它在「所有的JavaScript」

$(".popup-date").each(function(){ 
    var ele = $(this); 
    var v = ele.val(); 
    ele.datepicker().datepicker("option", "dateFormat", "dd-M-yy").datepicker("setDate", v); 
    }); 

接受的答案只是解決了問題的一半工作。該值顯示,但日期選取器挑選日期後的格式錯誤。

我的例子使用了不同的日期格式(例如01-Sep-2014),因爲我剛剛複製了我終於可以工作的代碼。我也不得不把它分解成元素和價值,因爲它在插入時最好是零星的。

相關問題