0

我的 Rails 应用程序中需要一个时间选择器,而 jquery 日期框看起来很完美,但我无法让它工作。

在我的 application.html.haml 我有

%link{:href => "http://code.jquery.com/mobile/latest/jquery.mobile.min.css", :rel => "stylesheet", :type => "text/css"}/
%link{:href => "http://dev.jtsage.com/cdn/datebox/latest/jqm-datebox.min.css", :rel => "stylesheet", :type => "text/css"}/
%script{:src => "http://code.jquery.com/mobile/latest/jquery.mobile.min.js", :type => "text/javascript"}
%script{:src => "http://dev.jtsage.com/cdn/datebox/latest/jqm-datebox.core.min.js", :type => "text/javascript"}
%script{:src => "http://dev.jtsage.com/cdn/datebox/latest/jqm-datebox.mode.calbox.min.js", :type => "text/javascript"}
%script{:src => "http://dev.jtsage.com/cdn/datebox/i18n/jquery.mobile.datebox.i18n.en_US.utf8.js", :type => "text/javascript"}

还有我的haml代码

%label{:for => "mydate"} Some Time
%input#mydate{"data-options" => "{\"mode\" => \"flipbox\"}", "data-role" => "datebox", :name => "mydate", :type => "date"}/

这得到翻译,如下所示http://cl.ly/image/1Y0t210L3a3c

我总是遇到的错误是http://cl.ly/image/1a0l3A20471r

我从 datebox 尝试了不同的盒子类型,但只有 calbox 有效。

谢谢

4

2 回答 2

3

好吧,您的部分问题可能出在此处:

%script{:src => "http://dev.jtsage.com/cdn/datebox/latest/jqm-datebox.mode.calbox.min.js", :type => "text/javascript"}

这仅加载 calbox”模式。如果您想使用翻转盒,如上面的 haml 代码中所示,您需要/还需要:

%script{:src => "http://dev.jtsage.com/cdn/datebox/latest/jqm-datebox.mode.flipbox.min.js", :type => "text/javascript"}

您的下一个问题是(可能)在翻译后的代码片段中 - 数据选项用双引号括起来,对象中的每个项目也是如此 - 根据浏览器,它会导致 javascript 解析它们的问题。您可以决定不使用数据选项,而是使用长选项...即:

data-datebox-mode="calbox"

(注意:我已经有一段时间没有测试过长选项了,也不完全记得它是如何工作的——如果它失败了,请告诉我。)

否则,它可能需要弄乱haml解析器才能让它发挥得很好——这可能比它的价值更麻烦(不确定,我对产品不是很熟悉)

于 2013-04-23T20:27:12.787 回答
1

数据选项部分需要用单引号括起来。使用双引号对我不起作用

data-options='{"mode":"datebox"}'
于 2013-10-24T11:21:37.277 回答