django.jQuery与django admin change_form.html
我正在尝试使用Django的jQuery库。这里有一个选择框,id是id_domain,表单的id是emailaccount_form。这些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,尽管选择框中实际上有2个选项。为什么会这样?当我用alert(domain)显示时,它显示的是object Object,而不是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!
1 个回答
1
你是不是忘了加一个井号(#)?记住,jQuery在选择ID的时候需要在前面加一个井号,而JavaScript自带的getElementById方法就不需要。
var form = $("#emailaccount_form");
var domain = $("#id_domain");