2

我正在使用JQuery-Mobile datebox,我想使用设置日期输入数据选项JQuery

编辑:

我的问题是:如何使用 jquery 设置日期输入数据选项?

输入代码:

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

2 回答 2

3

datebox 插件在内部依赖data()来解析data-options属性,因此您可以使用它的 setter 形式而不是创建显式属性:

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

如果它已经创建,请不要忘记在之后刷新小部件:

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

编辑: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 before highDates,否则前者将被忽略。

我在这里更新了你的小提琴。

于 2011-11-21T20:07:05.087 回答
0

如果您有如下代码:

<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");

它不会像在第一个代码片段中那样工作。确保您拥有正确的姓名和相应的 ID。

正确代码:

<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>

这很愚蠢,但非常重要。希望这有帮助。

于 2012-07-23T19:49:44.267 回答