django.jQuery与django管理员change_form.html

时间:2012-01-20 06:44:58

标签: javascript python django

我正在尝试使用django的jQuery库,如下所示。 domain是表单上具有id = id_domain的select字段,其格式为id = emailaccount_form。这些ID由django自动生成。

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

<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个选项。为什么?域显示为alert(域)显示对象而不是对象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!

1 个答案:

答案 0 :(得分:1)

你只是错过了一个哈希标记吗?记住jQuery需要一个前面的选择ID,而JavaScript的原生getElementById不需要。

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