0

如果这看起来没有那么有用(注意“过于本地化”的近距离投票),那么请告诉我原因。我认为 Django 和 JQuery UI 组成了一个相当不错的团队,因此值得解决使用它们的任何问题。这个问题的答案不是我发现的文档或另一个问题,并且与在其他地方使用其他小部件有关。

和问题...


我有一个处于开发模式的 django 项目。在其静态目录中,我有以下文件结构:

directory: js
            jquery-1.9.1.js
            jquery-ui-1.10.1.custom.js
            other_stuff.js
directory: css
            directory: ui-lightness
                directory: images
                jquery-ui-1.10.1.custom.css
                jquery-ui-1.10.1.custom.min.css

我正在尝试让日期选择器在我的一种表单上工作:

在我的 html 头中,我有:

<link type="text/css" rel="stylesheet" href="/static/css/ui-lightness/jquery-ui-1.10.1.custom.css"/>
<script src="/static/js/jquery-1.9.1.js" type="text/javascript"></script>
<script src="/static/js/jquery-ui-1.10.1.custom.js" type="text/javascript"></script>
<script type="text/javascript">
        $(document).ready(function() {
              $("#id_date_of_birth").datepicker();
        });
</script>

我试图改变的输入看起来像:

<input type="text" size="10" id="id_date_of_birth" class="vDateField" value="1987-01-19" name="date_of_birth"/>

现在我知道这个问题之前已经被问过十亿次了,但到目前为止我读过的所有解决方案似乎都不起作用......有人可以猜测我为什么会收到错误$(...).datepicker is not a function吗?

我考虑过的东西:

  1. 一切似乎都包含在正确的顺序中。其他解决方案提到包括 jquery ui ...core.js,但我认为所有内容都包含在 jquery-ui-1.10.1.custom.js 中,因为否则 jquery ui 下载页面非常具有误导性(我选择下载每个组件并且没有效果)

  2. 除了我提到的那个,没有出现其他错误。所有脚本都正确加载

  3. 没有任何内容超过一次

  4. 我一直等到文件准备好再打电话给任何东西,所以我的问题不是因为时机不对

4

3 回答 3

0

如果您列出的目录结构准确,则您的 jquery 文件不会以“.js”结尾,而您对这些文件的引用确实在页眉中包含“.js”。将“.js”扩展名添加到您的 jquery 文件中,它应该可以工作。

你还应该关闭你的输入元素:

<input type="text" size="10" id="id_date_of_birth" class="vDateField" value="1987-01-19" name="date_of_birth" **/**>
于 2013-02-17T18:50:48.040 回答
0

出于某种原因,该链接需要一个单独的结束标签...

<link type="text/css" rel="stylesheet" href="/static/css/ui-lightness/jquery-ui-1.10.1.custom.css"><link/>
于 2013-02-20T12:53:48.083 回答
0

这在我身上发生了好几次。

我所做的是复制整个代码(脚本)并将其放在父视图中。

如果您尝试将脚本放置在部分中,则可能无法正常工作,请尝试将其放置在更高的级别,直到完成工作。

在 django-oscar 中的一个示例,我必须将脚本放在 basket.html 模板中以使其在此处工作:

{% 包括 'basket/partials/basket_content.html' %}

于 2017-03-30T12:41:31.510 回答