Я пытаюсь использовать библиотеку jQuery в django следующим образом. домен - это поле выбора с id = id_domain в форме с формой id = emailaccount_form. Эти идентификаторы автоматически генерируются 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 варианта выбора. Зачем? домен, если отображается как предупреждение (домен) отображает объект 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. Кто-нибудь может руководить? Также, как мне избавиться от 1-го пустого значения поля «Выбор» как одного из вариантов. Я хочу использовать только django.jQuery!