Django + JQuery .val()没有设置

时间:2014-07-22 18:11:54

标签: javascript jquery django

我在使用.val()设置JQuery对象的值时遇到了一些麻烦。我可以在页面加载时得到初始值,但是当我更改输入并进行页面刷新时,我得到的值与初始加载不变。这是一些片段:

HTML:

<table><tr>
<td><b>Employee:</b>
    <input id="employee" value="{{employee_display}}"/>
    <input id="id_prev_emp" class="prev_button" type='button' value='' />
    <input id="id_next_emp" class="next_button" type='button' value='' />
</td>
<td><b>Pay Period Start:</b>
    <input id="pay-period-start" value="{{pay_period_start}}" />
    <input id="prev_period" class="prev_button" type='button' value='' onclick='updateDates()' />
    <input id="next_period" class="next_button" type='button' value='' onclick='updateDates()' />
</td>
<td>
    <form action=?employee_id={{employee_id}}&pay_period_start={{pay_period_start}} method="POST">
    <input type="submit" value="Print" /></form>
</td>
</tr></table>

JS:

<script>
var employee_id="{{employee_id}}";
var pay_period_start="{{pay_period_start}}"
...
function updateDates(){
    $("#pay_period_start").val($("#pay-period-start").val());
}

我所看到的行为并非我所期望的那样。 当我最初加载页面并单击“打印”按钮时,它会正确进入Django代码并且pay_period_start应该是它应该是什么。当我单击 prev_period 按钮时,页面会按原样刷新,pay-period-start中的文本正确,但是当我点击'Print'按钮时,Django代码被调用,pay_period_start是和第一次一样。

我尝试过以各种方式做类似事情,但认为这是我得到的最接近的事情。在调试时,我看到代码命中了updateDates()中设置的断点,但.val()调用没有做任何事情。在firefox控制台中运行, $(“#pay_period_start”)。value 返回 undefined 。直接从控制台运行updateDates中的代码后,它仍然返回 undefined

任何提示?

0 个答案:

没有答案