首页 > 解决方案 > 如何使用内联 jquery 迭代组合框中的响应值?-姜戈

问题描述

我有一个名为data2包含多个数据的对象,这些数据从views.py 呈现到我的HTML 模板。

{% for item in data2 %}
<tr>
    <td><input type="text" name="from" class="form-control input_data" value="{{item.from_age}}"></td>
    <td><input type="text" name="to" class="form-control input_data" value="{{item.to_age}}"></td>
    <td id ="gender_select">
        <script>$(function() {$('#gender_select :input').each(function() {
    $("#gender option[data-value='" + '{{item.gender}}' +"']").attr("selected","selected");
    });});</script>
        <select name="gender" id="gender" class="form-control input_data" >
            <option data-value="select" >Select</option>
            <option data-value="male" >Male</option>
            <option data-value="female" >Female</option>
        </select>
    </td>
    <td><a href='' class='remove'><span class=''></span></a></td>
</tr>
{% endfor %}

{{item.gender}},在第一次迭代中,我有值“男性”,在第二次迭代中,我有值“女性”,所以它应该自动选择值但是在执行上面的代码之后,我也面临一个错误$ is not defined也不能查看值。请让我知道我错在哪里?

标签: jquerydjangoajaxdjango-modelsdjango-templates

解决方案


您应该将您的 jquery 代码放在以下代码块中:

$(document).ready(function () {
  //rest of your code here
});

这将确保您的代码仅在 jquery 初始化后加载。

还要仔细检查您的 jquery 脚本是否被正确调用。


推荐阅读