我的目标是为选择创建一个函数,当更改时,它会更改输入中的占位符。我已经这么做了。但我的问题是使该函数对我添加的任何新输入+选择都有效。这样做是为了我不必每次都使用新的 id 创建新函数。我需要一个仅影响我单击的内容的全局函数。(最后,我添加了一个按钮来创建新表单,因此我需要全局函数来处理用户创建的任何新表单)这是 Bootstrap 中的 html 表单(我将代码减少到必要的程度)<div id="form"> <input name="telefono" type="text" id="telefono" placeholder="Móvil"> <select> <option value="Móvil">Móvil</option> <option value="Casa">Casa</option> <option value="Trabajo">Trabajo</option> </select></div>这是jQuery中的函数$(function(){ $("#form").find("select").change(function(){ $("#form").find("input").attr("placeholder", $(this).find(":selected").val()); });});使用此代码,我可以更改我创建的第一个 div 表单,但不能更改新的 div 表单。我正在使用 Bootstrap 作为表单。
2 回答
元芳怎么了
TA贡献1798条经验 获得超7个赞
您可以使用以下代码。希望它会起作用。
$(function(){
$(document).on("change", "select", function(){
var selectedValue = $(this).find(":selected").val();
var parent = $(this).closest("#form");
parent.find("input").attr("placeholder",selectedValue);
});
});
收到一只叮咚
TA贡献1821条经验 获得超4个赞
要让您的函数适用于所有动态添加的select和input元素,您必须使用以下change()方法从页面最初加载时已经存在的父元素select传递事件on():
$(function(){
$(document).on("change", "select", function(){
$(this).prev("input").attr("placeholder", $(this).find(":selected").val());
});
});
摆弄
jQuery on()
- 2 回答
- 0 关注
- 91 浏览
添加回答
举报
0/150
提交
取消