Javascript 删除输入字段时更新占位符标记

Javascript 删除输入字段时更新占位符标记,javascript,jquery,html,Javascript,Jquery,Html,我目前正在使用此代码在必要时添加和删除输入字段,但希望在删除框时更新占位符标记。我已经包括了页面的来源,以显示功能和任何帮助是非常感谢的手。谢谢 <script type='text/javascript'>//<![CDATA[ $(window).load(function(){ $(document).ready(function(){ $("#add-address").click(function(e){ e.preventDefault()

我目前正在使用此代码在必要时添加和删除输入字段,但希望在删除框时更新占位符标记。我已经包括了页面的来源,以显示功能和任何帮助是非常感谢的手。谢谢

<script type='text/javascript'>//<![CDATA[ 
$(window).load(function(){
$(document).ready(function(){
    $("#add-address").click(function(e){
        e.preventDefault();
        var numberOfAddresses = $("#form1").find("input[name^='data[address]']").length;
        var label = '<label for="data[address][' + numberOfAddresses + ']">Address ' + (numberOfAddresses + 1) + '</label> ';
        var input = '<input type="text" name="data[address][' + numberOfAddresses + ']" id="data[address][' + numberOfAddresses + ']" placeholder= "Address ' + (numberOfAddresses+1) + '"/>';
        var removeButton = '<button class="remove-address">Remove</button>';
        var html = "<div class='address'>" + label + input + removeButton + "</div>";
        $("#form1").find("#add-address").before(html);
    });
});

$(document).on("click", ".remove-address",function(e){
    e.preventDefault();
    $(this).parents(".address").remove();
    //update labels
    $("#form1").find("label[for^='data[address]']").each(function(){
        $(this).html("Address " + ($(this).parents('.address').index() + 1));
    });
});
});//]]>  

</script>


</head>
<body>
  <form id="form1" method="post" action = "h.php">
    <div class="address">
        <label for="data[address][0]">Address 1</label>
        <input type="text" name="data[address][0]" id="data[address][0]" placeholder = "Address 1" />
    </div>
    <button id="add-address">Add address</button>
    <br />
    <input type="submit" value="Submit" />
</form>

</body>
//
地址1
添加地址


您需要再添加一行来更改
循环中的输入
占位符

$(document).on("click", ".remove-address",function(e){
    e.preventDefault();
    $(this).parents(".address").remove();
    //update labels
    $("#form1").find("label[for^='data[address]']").each(function(){
        $(this).html("Address " + ($(this).parents('.address').index() + 1));
        $(this).next("input").attr("placeholder","Address " + ($(this).parents('.address').index() + 1)); //new line added 

    });
});
选中此

而不是

$(this.html(“地址”+($(this.parents)('.Address').index()+1))

你应该这样做

$(this.attr)(“占位符”,“地址”+($(this.parents)('.Address').index()+1))


记住,
占位符
是输入标记的属性,而不是它的html内容。

我不确定我是否理解这个问题。您要确切更改哪个占位符?怎么办?