Как установить параметры ввода данных даты с помощью jquery

Я использую JQuery-Mobiledatebox, и я хочу установить параметры ввода данных даты, используя JQuery

редактировать:

мой вопрос: как установить параметры ввода данных даты с помощью jquery?

входной код:

            <input 
                name="mydate" 
                id="mydate" 
                type="date"
                pickPageTheme="a"
                data-role="datebox"
                data-options='{"mode": "calbox" }' />

2 ответа

Решение

Плагин datebox внутренне полагается на data() для анализа data-options атрибут, так что вы можете использовать его форму установки вместо создания явного атрибута:

$("#mydate").data("options", {
    mode: "calbox",
    highDates: ["2011-11-02", "2011-11-03"],
    highDatesAlt: ["2011-11-09", "2011-11-10"],
    pickPageOAHighButtonTheme: "b"
});

Не забудьте обновить виджет впоследствии, если он уже был создан:

$("#mydate").datebox("refresh");

РЕДАКТИРОВАТЬ: К сожалению, приведенный выше код не будет работать, если виджет Datebox был автоматически создан мобильной платформой при загрузке страницы (так как data-options атрибут анализируется только один раз) Чтобы обойти эту проблему, вы можете использовать options метод:

$("#jqmdb").datebox("option", {
    mode: "calbox",
    highDatesAlt: ["2011-11-09", "2011-11-10"],
    highDates: ["2011-11-02", "2011-11-03"],
    pickPageOAHighButtonTheme: "b"
});

В этом случае, однако, вы должны указать highDatesAlt до highDatesили первое будет проигнорировано.

Я обновил вашу скрипку здесь.

Если у вас есть такой код:

<input name="myMEETINGdate" id="mydate" type="date" data-role="datebox"
      data-options='{"mode": "calbox","dateFormat":"%m/%d/%Y","calUsePickers": true, "calNoHeader": true,"highDates": ["07-20-2012", "2011-12-25"] }'>
</input>

И использовать:

$("#myminutesdate").datebox( "option",{highDates: ["2012-08-08", "2012-11-03"] });                       
$("#myminutesdate").datebox("refresh");

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

Правильный код:

<input name="myminutesdate" id="myminutesdate" type="date" data-role="datebox"
     data-options='{"mode": "calbox","dateFormat":"%m/%d/%Y","calUsePickers": true, "calNoHeader": true,"highDates": ["2012-12-07" , "2012-07-12"] }' >
</input>

Это глупо, но очень важно. Надеюсь, это помогло.

Другие вопросы по тегам