jQuery mobile Datebox Разница в диапазоне дат - PullRequest
0 голосов
/ 04 января 2012

вот коды и превью >> http://jsfiddle.net/shingou/PGFxZ/

как вы можете видеть, я использовал для этого плагин jquery mobile и jquery datebox и у меня есть код, чтобы узнать разницу между этими датами.

function parseDate(str) {
    var mdy = str.split('/')
    return new Date(mdy[2], mdy[0]-1, mdy[1]);
}

function daydiff(checkinDate, checkoutDate) {
    return (checkoutDate-checkinDate)/(1000*60*60*24)
}
$('#checkoutDate, #checkinDate').live('change', function() {
    $('#numNights').each(function() {
        $(this).text(daydiff(parseDate($('#checkinDate').val()), parseDate($('#checkoutDate').val())));
    });
});

очевидно, если мы изменим формат даты здесь.

jQuery.extend(jQuery.mobile.datebox.prototype.options, {
    'dateFormat': 'mm/dd/YYYY',
    'headerFormat': 'mm/dd/YYYY',
});

например, мы делаем это так:

jQuery.extend(jQuery.mobile.datebox.prototype.options, {
    'dateFormat': 'ddd, dd mmm YYYY',
    'headerFormat': 'ddd, dd mmm YYYY',
});

разница между датами диапазона приведет к NaN.

Любое решение по этому вопросу действительно полезно, заранее спасибо.

1 Ответ

2 голосов
/ 04 января 2012

Datebox имеет функцию .data('datebox').theDate для получения даты из ввода, поэтому вам не придется ее анализировать.

Я изменил вашу скрипку соответственно http://jsfiddle.net/PGFxZ/3/

...