jquery datepicker - конфликт, когда две даты в одной форме - PullRequest
0 голосов
/ 27 июля 2011

У меня есть форма с двумя полями даты.Это довольно большая форма, поэтому я просто покажу соответствующие части.

<input id="dateofassessment" name="dateofassessment"  readonly="readonly" class='datebox' />
<input id="LastIncident" name="LastIncident" readonly="readonly" class="datebox" />

(Я должен отметить, что «dateofassessment» - это первый элемент формы, а «LastIncident» - последний элемент.)

Я прикрепляю объект datepicker следующим образом ..

    $(".datebox").datepicker({
        dateFormat: 'dd-M-yy',
        changeYear: true,
        showButtonPanel: false
        });

Поле ввода "dateofassessment" работает отлично.Календарь отображается ОК, и нажатие на дату заполняет поле «dateofassessment» - Отлично!

Однако поле «LastIncident» работает не так хорошо.При нажатии на него отображается календарь ОК.Однако выбор даты не заполняет форму.На самом деле календарь закрывается в «LastIncident» и снова открывается в поле «dateofassessment», как только я выбираю дату.

Я не могу опубликовать весь код, так как его огромное количество,на сайте интранета.Но, надеюсь, я разместил соответствующие части.

К вашему сведению, тот факт, что поля «только для чтения» не имеет никакого значения.

Версии ... jQuery v1.5.1 Datepicker 1.8.9

Ответы [ 4 ]

1 голос
/ 27 июля 2011

Ну, это очевидная ошибка с датчиком.Вместо использования

$(".datebox").datepicker({
        dateFormat: 'dd-M-yy',
        changeYear: true,
        showButtonPanel: false
        });

Попробуйте

$("#dateofassessment").datepicker({
        dateFormat: 'dd-M-yy',
        changeYear: true,
        showButtonPanel: false
        });

$("#LastIncident").datepicker({
        dateFormat: 'dd-M-yy',
        changeYear: true,
        showButtonPanel: false
        });

Я знаю, что это заставляет вас повторить себя, что плохо, но это может помочь решить проблему.Или вы можете попробовать другой сборщик дат.Или обновите эту более новую версию

0 голосов
/ 16 марта 2012

Попробуйте использовать этот JavaScript:

$(function() {
    $( "#datepicker" ).datepicker();
    $( "#datepicker" ).datepicker( "option", "dateFormat", "yy-mm-dd" );
});

$(function() {
    $( "#datepicker2" ).datepicker();
    $( "#datepicker2" ).datepicker( "option", "dateFormat", "yy-mm-dd" );   
});

Затем используйте следующие поля формы:

<input type="text" id="datepicker" name="fecha_ingreso" />
<input type="text" id="datepicker2" name="fecha_ingreso2" />
0 голосов
/ 08 ноября 2011

Вы также можете использовать .setDefaults, чтобы все средства выбора даты вели себя одинаково (у меня есть моя на главной странице, даже не в OnDocumentReady, потому что я хочу, чтобы она запускалась перед функциями OnDocumentReady).

$.datepicker.setDefaults({
    showOn: "button",
    buttonImage: "/Program/Images/calendar.png",
    buttonImageOnly: true,
    buttonText: ""
})

И поэтомуВам не придется повторяться почти столько же.

$("#dateofassessment").datepicker();
$("#LastIncident").datepicker();
0 голосов
/ 27 июля 2011

Ваша проблема находится в другом месте, посмотрите эту скрипку, которая работает как положено: http://jsfiddle.net/AfmpL/

...