Javascript Django模板在pickerselect选择后未刷新循环

Javascript Django模板在pickerselect选择后未刷新循环,javascript,django,twitter-bootstrap,Javascript,Django,Twitter Bootstrap,一旦pickerselect的选择发生了变化,我需要更新一个html表格单元格,它是使用Django模板for loop创建的。表格的我的HTML: <tbody> {% for task in tasks %} <tr> <td>{{ task.taskNumber }}</td> <td>{{ task.t

一旦pickerselect的选择发生了变化,我需要更新一个html表格单元格,它是使用Django模板for loop创建的。表格的我的HTML:

        <tbody>
            {% for task in tasks %}
            <tr>
                <td>{{ task.taskNumber }}</td>
                <td>{{ task.taskDescription }}</td>
                <td><div name="dataOutput">{{task.thisPeriod}}</div></td>
            </tr>
            {% endfor %}
        </tbody>

{tasks%%中任务的%s}
{{task.taskNumber}
{{task.taskscription}
{{task.thisporiod}
{%endfor%}
pickerselect的我的HTML:

    <select name="selValue" class="selectpicker">
        <option value="1">Current Period ({{currentPeriod}})</option>
        <option value="2">Previous Period ({{previousPeriod}})</option>
    </select>

当前期间({currentPeriod}})
上期({previousPeriod}})
我的javascript:

<script language="JavaScript">
  $(function() {
      $('.selectpicker').on('change', function(){
        var selected = $(this).find("option:selected").val();
        var updateArray = document.getElementsByName("dataOutput");
        for (var i = 0; 1 < updateArray.length; i++) {
            if (selected == 1) {
                updateArray[i].innerHTML = "{{task.thisPeriod}}";
            } else if (selected == 2) {
                updateArray[i].innerHTML = "temp";
            } 
         }
      });
    });
  </script>

$(函数(){
$('.selectpicker')。在('change',function()上{
var selected=$(this).find(“选项:selected”).val();
var updateArray=document.getElementsByName(“数据输出”);
对于(var i=0;1

此时,当选择2时,表格行值将使用占位符“temp”进行更新,但当我更改回选择1时,表格中不会出现任何值。我假设这是因为循环的Django模板没有被刷新,所以它不知道如何为循环{{task.thispiriod}中的特定任务呈现。我已经浏览了一些关于使用javascript刷新div的问题,但是没有任何效果。。。对于表中的空白值,我总是得到相同的结果

这是很明显的,但你不能这样做,因为javascript不会记录你传递给模板的
任务
django上下文。您应该使用ajax将所选的值传递给
views.py
中的一个单独的方法,在那里您可以找到数据并将其返回到javascript,然后使用新数据呈现
div

谢谢,我想这是一个类似的方法。我是ajax/javascript新手,所以你介意提供一个例子吗?网上有很多例子。我在谷歌上随意搜索,找到了。显然,您还必须阅读jquery ajax文档: