我的目標是為選擇創建一個函數,當更改時,它會更改輸入中的占位符。我已經這么做了。但我的問題是使該函數對我添加的任何新輸入+選擇都有效。這樣做是為了我不必每次都使用新的 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條經驗 獲得超5個贊
要讓您的函數適用于所有動態添加的select和input元素,您必須使用以下change()方法從頁面最初加載時已經存在的父元素select傳遞事件on():
$(function(){? ?
? $(document).on("change", "select", function(){
? ? ?$(this).prev("input").attr("placeholder", $(this).find(":selected").val());
? });?
});
擺弄
jQuery on()
- 2 回答
- 0 關注
- 142 瀏覽
添加回答
舉報
0/150
提交
取消