我正在尝试使用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!
答案 0 :(得分:1)
你只是错过了一个哈希标记吗?记住jQuery需要一个前面的选择ID,而JavaScript的原生getElementById不需要。
var form = $("#emailaccount_form");
var domain = $("#id_domain");