English 中文(简体)
Not finding defaultDate in jQuery UI datepicker
原标题:

I have a form text field that pulls a date from a database (in the format yyyy-mm-dd).

<input class="" type="text" name="closingDate" id="closingDate" value="<?php echo $closingdate;?>" />@ Midday

I then have a jQuery datepicker that will grab its defaultDate value as the value attribute of the input shown above.

$(document).ready(function(){
 $("#datepicker").datepicker({defaultDate:  input#closingDate.attr( value )  , altField:  input#closingDate  , altFormat:  yy-mm-dd });
});

(plz note: yy-mm-dd is correct to format as yyyy-mm-dd, also $closingdate correctly echo s out as yyyy-mm-dd as i have checked it elsewhere in the page).

However the datepicker will not grab the date from the input field, it simply defaults to its today value.

最佳回答

Sorry for being so late, but for completeness here is what worked for me.

Basicly you need to use the same dateFormat as the datepicker or pass a Date Object.

$(document).ready(function(){
    $("#datepicker").datepicker({
        defaultDate: new Date($( input#closingDate ).attr( value )),
        altField:  input#closingDate ,
        altFormat:  yy-mm-dd 
    });
});

The problem with this is the input value is changed to so its no good for an edit form.

I personally use the setDate method with a Date object, this way I can use 2001-01-01 in php but display a "nicer" looking date in the input.

$(document).ready(function(){
    $("#datepicker").datepicker({
        altField:  input#closingDate ,
        altFormat:  yy-mm-dd ,
        dateFormat: DD, d MM, yy 
    });
    $("#datepicker").datepicker("setDate", new Date($("input#closingDate").attr("value"));
});
问题回答

You shouldn t be putting your default date inside a literal string, the .attr() function returns a string:

$(document).ready(function(){
    $("#datepicker").datepicker({
        defaultDate: $( input#closingDate ).attr( value ),
        altField: $( input#closingDate ),
        altFormat:  yy-mm-dd 
    });
});

i know this is a bit late but i had the exact same problem when trying to set the default date in the JQuery UI DatePicker.

It kept taking my asp.net DateTime and adding random years to it or something.

My solution :

var myDate= new Date( <%=myObject.myDate.ToLongDateString() %> );
$("#mytextbox").datepicker({ defaultDate: myDate });




相关问题
getGridParam is not a function

The HTML: <a href="javascript:void(0)" id="m1">Get Selected id s</a> The Function: jQuery("#m1").click( function() { var s; s = jQuery("#list4").getGridParam( selarrrow )...

selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

jQuery cycle page with links

I am using the cycle plugin with pager functionality like this : $j( #homebox ) .cycle({ fx: fade , speed: fast , timeout: 9000, pager: #home-thumbs , ...

jquery ui dialog opens only once

I have a button that opens a dialog when clicked. The dialog displays a div that was hidden After I close the dialog by clicking the X icon, the dialog can t be opened again.

jConfirm with this existing code

I need help to use jConfirm with this existing code (php & Jquery & jAlert). function logout() { if (confirm("Do you really want to logout?")) window.location.href = "logout.php"; } ...

Wrap text after particular symbol with jQuery

What I m trying to do, is wrap text into div inside ll tag. It wouldn t be a problem, but I need to wrap text that appears particularly after "-" (minus) including "minus" itself. This is my html: &...

热门标签