gpt4 book ai didi

javascript - 在父级 JavaScript 中查找元素的最佳方法

转载 作者:行者123 更新时间:2023-12-02 15:22:21 25 4
gpt4 key购买 nike

我有一个功能,当用户输入城市的邮政编码时,城市名称将设置到城市名称输入字段中。搜索工作正常,但我无法获取输入字段的相对 ID 并在那里设置名称。我无法对其 ID 进行硬编码,因为这些表单是动态生成的。

文件.JS

$("[id*=post_code]").on("input", function() {
var el = $(this);

if (el.val().length > 2) {
$.ajax({
url: url,
cache: false,
dataType: "json",
type: "GET",
data: "post-code=" + el.val(),
success: function(result, success, e) {
//DOES NOT WORK
$(e.target).parents(".city-auto").find("[id*=city]").val(result.name);
}
});
}
});

HTML

<div class="row 50% city-auto">
<div class="3u 12u(narrower)">
<div class="form-warning">
{% if client_form.post_code.errors %}
<spam><img src="{{ STATIC_URL }}icons/warning_triangle_16.png" class="icon"> <spam class="icon fa-angle-down"></spam></spam>
{% endif %}
</div>
<!-- Triggers JavaScript -->
<input id="id_form-0-post_code" maxlength="5" name="form-0-post_code" placeholder="Post nr." type="text">
</div>
<div class="6u 12u(narrower)">
<div class="form-warning">
</div>
<!-- Should get value replaced by JavaScript -->
<input id="id_form-0-city" maxlength="30" name="form-0-city" placeholder="By" type="text" readonly="">
</div>
</div>

此表单是动态生成的,因此我需要能够像我一样通过指定正则表达式或使用通配符来查找城市输入 ID。

最佳答案

el.parent().next().find("[id*=city]").val(result.name);

说明

el.parent():

<div class="3u 12u(narrower)">

.next():

<div class="6u 12u(narrower)">

.find("[id*=city]"):

<input id="id_form-0-city" maxlength="30" name="form-0-city" placeholder="By" type="text" readonly="">

关于javascript - 在父级 JavaScript 中查找元素的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33945192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com