django.jQuery with django admin change_form.html

django.jQuery with django admin change_form.html

本文关键字:django form html admin jQuery with change      更新时间:2023-09-26

我正在尝试使用django的jQuery库,如下所示。domain是表单id=emailaccount_form上id=id_domain的选择字段。这些id是django自动生成的。

在静态文件test.js中,jquery的代码如下:

<script type="text/javascript">
(function($){
    $(document).ready(function($){
    var form = $("emailaccount_form");
    var domain = $("id_domain");
    //number of domains include null as 1 value
    alert(domain.length);
    if ((!domain[0].value) && (domain.length > 1)){ 
        if (domain.length == 2){ 
        //select domain by default as it is the only available choice
        domain.selectedIndex = 1;
        alert('Domain ' + domain.value);
        }
    }
    });
})(django.jQuery);
</script>

在执行时,我发现domain.length值为0,而select选项中实际上有2个选项。为什么?域如果显示为警报(域),则显示对象object,而不是对象HTMLSelectElement。

考虑第二种情况,javascript如下,在这里我得到了预期的结果:

<script type="text/javascript">
   var domain = document.getElementById("{{ adminform.form.domain.auto_id }}");
   alert(domain);
   alert ("Number of domains: " + (domain.length-1));
   </script>

django.jQuery出了什么问题。有人能指导吗?此外,我如何将"选择"框的第一个空白值作为选项之一。我只想使用django.jQuery!

您只是缺少了一个散列标记吗?请记住,jQuery需要一个在前面选择ID,而JavaScript的原生getElementById则不需要。

var form = $("#emailaccount_form");
var domain = $("#id_domain");