Я разрабатываю веб-страницу, используя django, и я хочу добавить javascript в форму, используя jQuery. В основном я хочу выбрать вариант в форме в зависимости от другого выбора.
Мне нужно использовать текст опции, а не значения опции, потому что значения опции генерируются динамически django.
Выписка из моего кода:
Javascript
$("#id_propietario").change(
function() {
if ($("#id_propietario :selected").text() == '{{ usuario.username }}') {
alert('test');
} else {
$("#id_adeudado").val($("#id_adeudado option[text='{{ usuario.username }}']").val());
}
}
);
HTML-элементы формы
<p><label for="id_propietario">Propietario:</label> <select name="propietario" id="id_propietario">
<option value="" selected="selected">---------</option>
<option value="1">elio</option>
<option value="2">up1</option>
<option value="3">up2</option>
</select></p>
<p><label for="id_adeudado">Adeudado:</label> <select name="adeudado" id="id_adeudado">
<option value="" selected="selected">---------</option>
<option value="1">elio</option>
<option value="2">up1</option>
<option value="3">up2</option>
</select></p>
Я использую jQuery 1.4, это поведение, по-видимому, изменилось с 1.3 на 1.4, где вы можете напрямую использовать
$("#id_adeudado").val('{{ usuario.username }}');
Обратите внимание, что django заменяет {{usuario.username}} на текущее имя пользователя. Мой код не работает, потому что jQuery не выбирает элемент option с помощью селектора text = 'value'.
Как я могу преодолеть эту проблему?
Заранее спасибо
p.s: я впервые использую jQuery