我正在使用 django 开发网页,我想使用 jQuery 将一些 javascript 添加到表单中。基本上我想根据另一个选择在表单中选择一个选项。 我需要使用选项的文本而不是选项的值,因为选项的值是由 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 没有使用 text='value' 选择器选择选项元素。 我该如何克服这个问题?
提前致谢
p.s: 我是第一次使用jQuery
最佳答案
刚刚找到了一些有用的东西,使用 contains 而不是 text='values' 选择器
不适合我
$("#id_adeudado option[text='{{ usuario.username }}']")
工作
$("#id_adeudado option:contains('{{ usuario.username }}')")
关于javascript - 通过文本选择一个选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3541565/