为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Jquery 中创建影响所选 div 的函数

如何在 Jquery 中创建影响所选 div 的函数

繁花不似锦 2023-12-11 16:14:21
我的目标是为选择创建一个函数,当更改时,它会更改输入中的占位符。我已经这么做了。但我的问题是使该函数对我添加的任何新输入+选择都有效。这样做是为了我不必每次都使用新的 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);

  });

});


查看完整回答
反对 回复 2023-12-11
?
收到一只叮咚

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()

查看完整回答
反对 回复 2023-12-11
  • 2 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信