繁体   English   中英

三个或更多相同格式的字段-如何动态添加/删除空白字段

[英]three or more fields in same form - how to add/remove blank fields dynamically

我在同一表格中有三个单独的字段。 我希望能够为每个字段动态添加/删除空白字段。

这是字段和JQuery段-确实适用于第一个字段,但不适用于其他字段。 我需要做什么? 我还尝试将第2个.append语句放到第一个中,但这也不起作用。

我还向第二个警报发出警报,以查看是否会触发。 可以,但是按钮调用不起作用。

如果我可以使用前两个字段,该如何处理第三个字段? 就像我说的,第一个很好用。

领域

<div class="col-sm-3" id="submitterEmail">  
        Email<g:field type="email" name="submitterEmail" class="form-control" required="" value="" aria-labelledby="submitterEmail-label"/><button id="add">Add+</button>
</div>
<div class="col-sm-2">  
        Fax<g:field type="text" name="submitterFax" class="form-control" required="true" value="" aria-labelledby="submitterFax-label"/><button id="add2">Add+</button>
</div>
<div class="col-sm-5">
        Specimen<g:select name="specimen" from="" class="form-control" type="text" required="true" class="form-control" aria-labelledby="specimen-label"/>
</div>

jQuery查询

$(document).ready(function(){
    //when the Add Filed button is clicked
    $("#add").click(function (e) {
        //Append a new row of code to the div
        $("#submitterEmail").append('<div><g:field type="email" name="submitterEmail" class="form-control" required="" value="" aria-labelledby="submitterEmail-label"/><button class="delete">Delete</button></div>');
    });
    $("body").on("click", ".delete", function (e) {
        $(this).parent("div").remove();
    });
});    
$(document).ready(function(){
    //when the Add Filed button is clicked
    $("#add2").click(function (e) {
        //Append a new row of code to the div
        $("#submitterFax").append('<div><g:field type="text" name="submitterFax" class="form-control" required="" value="" aria-labelledby="submitterFax-label"/><button class="delete">Delete</button></div>');    
        alert('this is an alert test)       
    });    
});    
});

试试这个会起作用

<?php ?>// you can remove this tag.
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    //when the Add Filed button is clicked
    $("#add").click(function (e) {
        //Append a new row of code to the div
        $("#submitterEmail").append('<div><input type="text" name="submitterEmail" class="form-control" required="" value="" aria-labelledby="submitterEmail-label"/><button class="delete">Delete</button></div>');
    });
    $("body").on("click", ".delete", function (e) {
        $(this).parent("div").remove();
    });
});    
$(document).ready(function(){
    //when the Add Filed button is clicked
    $("#add2").click(function (e) {
        //Append a new row of code to the div
        $("#submitterFax").append('<div><input type="text" name="submitterFax" class="form-control" required="" value="" aria-labelledby="submitterFax-label"/><button class="delete">Delete</button></div>');    

    });  

$("body").on("click", ".delete", function (e) {
        $(this).parent("div").remove();
    });  
});      

</script>

HTML部分。

<div class="col-sm-3" id="submitterEmail">  
        Email<g:field type="email" name="submitterEmail" class="form-control" required="" value="" aria-labelledby="submitterEmail-label"/><button id="add">Add+</button>
</div>
<div class="col-sm-2" id="submitterFax">  
        Fax<g:field type="text" name="submitterFax" class="form-control" required="true" value="" aria-labelledby="submitterFax-label"/><button id="add2">Add+</button>
</div>
<div class="col-sm-5">
        Specimen<g:select name="specimen" from="" class="form-control" type="text" required="true" class="form-control" aria-labelledby="specimen-label"/>
</div>

如果有人感兴趣的话,我办公室的一位同事也想出了此替代解决方案。...也许涉及更多一点,但也可以与某些Bootstrap元素和格式配合使用。 如果它可以帮助某人(它对我有所帮助!),那么我很乐意分享。

var counter = 0;

function addContactEmail(){
    $("#submitterEmailTbody").append('<tr id="submitterEmail'+counter+'Row"><td><input type="text" name="submitterEmail" class="form-control" required=""/></td><td><button type="button" class="btn btn-danger" onclick="deleteContactEmail('+counter+')" onkeypress="deleteContactEmail('+counter+'); return false"><span class="glyphicon glyphicon-minus"></span></button></td></tr>');
    counter++;
}
function deleteContactEmail(id){
    $("#submitterEmail"+id+"Row").remove();
}

function addContactFax(){
    $("#submitterFaxTbody").append('<tr id="submitterFax'+counter+'Row"><td><input type="text" name="submitterFax" class="form-control" required=""/></td><td><button type="button" class="btn btn-danger" onclick="deleteContactFax('+counter+')" onkeypress="deleteContactFax('+counter+'); return false"><span class="glyphicon glyphicon-minus"></span></button></td></tr>');
    counter++;
}
function deleteContactFax(id){
    $("#submitterFax"+id+"Row").remove();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM