javascript - 通过文本选择一个选项

标签 javascript jquery html dom

我正在使用 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/

相关文章:

Javascript 正则表达式 - 从 url 中删除变量(如果存在)

html - 默认的 `<body>` 边距有多宽?

javascript - 访问者如何通过文本字段向菜单添加选项?

javascript - 用 featherlight 加载 html

javascript - 模型更改后 Angular View 不更新

javascript - 我需要一个逻辑代码来动态创建下面的 json 结构

asp.net - JQueryUI 与 Google 的 CDN 问题

jquery - 我无法使用jquery获取css属性的值

html - 带有 Flex Box 的响应式 CSS

javascript - 向文本区域输入添加计数器