【问题标题】:django jquery toggle in form from modeldjango jquery 在模型中切换形式
【发布时间】:2011-07-12 02:34:01
【问题描述】:

我想知道是否可以在 django 中使用 jquery 获得一些指导。

我有一个来自模型的表单,我想根据选中或未选中的复选框显示某些表单字段。也可以使用按钮完成。我已经以可以正常工作的形式使用 Jquery datepicker 和 timepicker。 Jquery 切换在这里http://api.jquery.com/toggle/。我可以让它在其他地方工作,而不是在表单内。

这是一些模板代码,其中“e”是传入模型的表单,包含日期选择器代码作为切换应如何工作的提示,以及使用按钮进行切换的切换代码。提前致谢。

~丰富

{% block head %}
<link type="text/css" href="/media/jquery-ui-1.8.7.custom/css/ui-lightness/jquery-ui-1.8.7.custom.css" rel="stylesheet" />   
    <script type="text/javascript" src="/media/jquery-ui-1.8.7.custom/js/jquery-1.4.4.min.js"></script>
    <script src="http://code.jquery.com/jquery-1.5.js"></script>
    <link type="text/css" href="/media/jquery-ui-1.8.7.custom/jquery.timepicker-1.1.0/jquery.timepicker-1.1.0.css" rel="stylesheet" />   
    <script type="text/javascript" src="/media/jquery-ui-1.8.7.custom/jquery.timepicker-1.1.0/jquery.timepicker-1.1.0.js"></script>
    <script type="text/javascript" src="/media/jquery-ui-1.8.7.custom/js/jquery-ui-1.8.7.custom.min.js"></script>
{% endblock %}

{% block content %}
<script type="text/javascript">
<!--jquery datepicker-->
$(function() {
    $("#id_start_date, #id_end_date").datepicker({ showOn: "both",
        buttonImage: "/media/calendar.gif",
        buttonImageOnly: true,
        changeMonth: true,
        changeYear: true,
        dateFormat: 'yy-mm-dd' });
 });
</script>
<script>
$("#id_allday").click(function () {
$('#toggle').toggle("slow");
});   
</script>

<form action="" method="POST">
<fieldset style="width:700px; margin-left: auto; margin-right: auto; border: 1px solid #ff9900">
    <legend style="color: #ff9900; font-weight: bold">New</legend>
<table >
    <tbody>
    <tr><td style="vertical-align: top;">Date: {{e.start_date.errors}} {{e.start_date}}</td>
    <td style="vertical-align: top;">End Date {{e.end_date.errors}} {{e.end_date}}</td>
    </tr>
    <tr><td style="vertical-align: top;">Time: All Day {{e.allday.errors}} {{e.allday}}
<button>Add times</button></td>
    <div id='toggle'>
   <td style="vertical-align: top;">Start Time: {{e.start_time.errors}} {{e.start_time}}<br></td></tr>
    <td style="vertical-align: top;">End Time: {{e.end_time.errors}} {{e.end_time}}</td> </tr>
    </div>
    </tbody>
    </table>
<input value="Submit" type="submit"></fieldset></form>

</div>
{% endblock %}

【问题讨论】:

    标签: jquery django forms toggle


    【解决方案1】:

    尝试将 jQuery 事件代码放在 onload 函数中,否则表单元素将不存在于 dom 中,并且 jQuery 还没有可查询的内容。

    $(document).ready(function() {
        $("#id_allday").click(function () {
            $('#toggle').toggle("slow");
        })
    }
    

    此外,您可能希望绑定更改而不是单击,以防有人使用空格键而不是鼠标按钮切换输入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-09
      • 2017-04-18
      • 1970-01-01
      • 2012-07-15
      • 1970-01-01
      • 1970-01-01
      • 2013-05-02
      • 1970-01-01
      相关资源
      最近更新 更多