我很抱歉这个问题。我正在研究使用div标签生成表的选项,这个工作正常。我试图使用户使用jqeury添加或删除行。我的问题是,添加的行没有伪造所有列。将整个行添加到列Header1中。我已经尽一切努力解决了这个问题,但是没有任何效果,你们是我最后的希望,这就是为什么我在这里发表我的问题。
我试图制作一个可行的片段,添加新行在这里不起作用,它在我的浏览器中。
$('#addrow').click(function(){
var length = $('.sl').length;
var i = parseInt(length)+parseInt(1);
var newrow = $('#next').append('<div class="divTableRow"><div class="divTableCell"><input type="text" class="form-control sl" name="slno[]" value="'+i+'" readonly=""></div><div class="divTableCell"><input type="text" class="form-control" name="name[]" id="acc_name'+i+'" placeholder="Enter Account Name" pattern="[^()/><\][\\\x22,;|]+"></div><div class="divTableCell"><select name="rang[]" id="rang_acc'+i+'" style="width:170px !important;font-weight: normal !important;" class="form-control"><option value="Bacteria">Bacteria</option><option value="Low Life">Low Life</option><option value="Apprentice">Apprentice</option><option value="Hitman">Hitman</option><option value="Assassin">Assassin</option><option value="Local Boss">Local Boss</option><option value="Boss">Boss</option><option value="Godfather">Godfather</option></select></div><div class="divTableCell"><input type="text" class="form-control" name="phone_no[]" id="pn'+i+'" placeholder="Enter Phone No"></div><div class="divTableCell"><input type="text" class="form-control" id="age'+i+'" name="age[]" placeholder="Enter Age"></div><div class="divTableCell"><input type="date" id="dob'+i+'" name="date_of_birth[]" class="form-control"/></div><div class="divTableCell"><input type="button" class="btnRemove btn-danger" value="Remove"/></div></div>');
});
// Removing event here
$('body').on('click','.btnRemove',function() {
$(this).closest('div').remove()
});
div.blueTable {
border: 1px solid #1C6EA4;
background-color: #EEEEEE;
width: 100%;
text-align: left;
border-collapse: collapse;
}
.divTable.blueTable .divTableCell, .divTable.blueTable .divTableHead {
border: 1px solid #AAAAAA;
padding: 3px 2px;
}
.divTable.blueTable .divTableBody .divTableCell {
font-size: 13px;
}
.divTable.blueTable .divTableRow:nth-child(even) {
background: #D0E4F5;
}
.divTable.blueTable .divTableHeading {
background: #1C6EA4;
background: -moz-linear-gradient(top, #5592bb 0%, #327cad 66%, #1C6EA4 100%);
background: -webkit-linear-gradient(top, #5592bb 0%, #327cad 66%, #1C6EA4 100%);
background: linear-gradient(to bottom, #5592bb 0%, #327cad 66%, #1C6EA4 100%);
border-bottom: 2px solid #444444;
}
.divTable.blueTable .divTableHeading .divTableHead {
font-size: 15px;
font-weight: bold;
color: #FFFFFF;
border-left: 2px solid #D0E4F5;
}
.divTable.blueTable .divTableHeading .divTableHead:first-child {
border-left: none;
}
.blueTable .tableFootStyle {
font-size: 11px;
}
.blueTable .tableFootStyle .links {
text-align: right;
}
.blueTable .tableFootStyle .links a{
display: inline-block;
background: #1C6EA4;
color: #FFFFFF;
padding: 2px 8px;
border-radius: 5px;
}
.blueTable.outerTableFooter {
border-top: none;
}
.blueTable.outerTableFooter .tableFootStyle {
padding: 3px 5px;
}
/* DivTable.com */
.divTable{ display: table; }
.divTableRow { display: table-row; }
.divTableHeading { display: table-header-group;}
.divTableCell, .divTableHead { display: table-cell;}
.divTableHeading { display: table-header-group;}
.divTableFoot { display: table-footer-group;}
.divTableBody { display: table-row-group;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<form class="form-horizontal" action="#" method="post">
<div class="divTable blueTable">
<div class="divTableHeading">
<div class="divTableRow">
<div class="divTableHead">head1</div>
<div class="divTableHead">head2</div>
<div class="divTableHead">head3</div>
<div class="divTableHead">head4</div>
<div class="divTableHead">head5</div>
<div class="divTableHead">head6</div>
</div>
</div>
<div class="divTableBody">
<div class="divTableRow">
<div class="divTableCell">
<input type="text" class="form-control sl" name="slno[]" id="slno" value="1" readonly="">
</div>
<div class="divTableCell">
<input type="text" class="form-control" name="name[]" id="acc_name" placeholder="Enter Account Name" pattern="[^()/><\][\\\x22,;|]+">
</div>
<div class="divTableCell">
<select name="rang[]" id="rang_acc" style="width:120px !important;font-weight: normal !important;" class="form-control sl">
<option value="Bacteria">Bacteria</option>
<option value="Low Life">Low Life</option>
<option value="Apprentice">Apprentice</option>
<option value="Hitman">Hitman</option>
<option value="Assassin">Assassin</option>
<option value="Local Boss">Local Boss</option>
<option value="Boss">Boss</option>
<option value="Godfather">Godfather</option>
</select>
</div>
<div class="divTableCell"><input type="text" class="form-control" name="phone_no[]" id="pn" placeholder="Enter Phone No"></div>
<div class="divTableCell"><input type="text" class="form-control" id="age" name="age[]" placeholder="Enter Age"></div>
<div class="divTableCell"><input type="date" id="dob" name="date_of_birth[]" class="form-control"/></div>
</div>
<div id="next"></div>
</div>
</div>
<br/>
<button type="button" name="addrow" id="addrow" class="btn btn-success pull-right">Add New Row</button>
<br/><br/>
<button type="submit" name="submit" class="btn btn-info pull-left">Submit</button>
</form>
#next
而不是表主体容器divTableBody
.parent()
到您的remove
功能中-现在可以使用const tableRow = (i) => {
return `
<div class="divTableRow">
<div class="divTableCell">
<input type="text" class="form-control sl" name="slno[]" value="${ i }" readonly="">
</div>
<div class="divTableCell">
<input type="text" class="form-control" name="name[]" id="acc_name${ i }" placeholder="Enter Account Name" pattern="[^()/><\][\\\x22,;|]+">
</div>
<div class="divTableCell">
<select name="rang[]" id="rang_acc${ i }" style="width:170px !important;font-weight: normal !important;" class="form-control">
<option value="Bacteria">Bacteria</option>
<option value="Low Life">Low Life</option>
<option value="Apprentice">Apprentice</option>
<option value="Hitman">Hitman</option>
<option value="Assassin">Assassin</option>
<option value="Local Boss">Local Boss</option>
<option value="Boss">Boss</option>
<option value="Godfather">Godfather</option>
</select>
</div>
<div class="divTableCell">
<input type="text" class="form-control" name="phone_no[]" id="pn${ i }" placeholder="Enter Phone No">
</div>
<div class="divTableCell">
<input type="text" class="form-control" id="age${ i }" name="age[]" placeholder="Enter Age">
</div>
<div class="divTableCell">
<input type="date" id="dob${ i }" name="date_of_birth[]" class="form-control"/>
</div>
<div class="divTableCell">
<input type="button" class="btnRemove btn-danger" value="Remove"/>
</div>
</div>
`
}
$('#addrow').click(function() {
var length = $('.sl').length;
var i = parseInt(length) + parseInt(1);
var newrow = $('.divTableBody').append(tableRow(i));
});
// Removing event here
$('body').on('click', '.btnRemove', function() {
$(this).closest('div').parent().remove()
});
div.blueTable {
border: 1px solid #1C6EA4;
background-color: #EEEEEE;
width: 100%;
text-align: left;
border-collapse: collapse;
}
.divTable.blueTable .divTableCell,
.divTable.blueTable .divTableHead {
border: 1px solid #AAAAAA;
padding: 3px 2px;
}
.divTable.blueTable .divTableBody .divTableCell {
font-size: 13px;
}
.divTable.blueTable .divTableRow:nth-child(even) {
background: #D0E4F5;
}
.divTable.blueTable .divTableHeading {
background: #1C6EA4;
background: -moz-linear-gradient(top, #5592bb 0%, #327cad 66%, #1C6EA4 100%);
background: -webkit-linear-gradient(top, #5592bb 0%, #327cad 66%, #1C6EA4 100%);
background: linear-gradient(to bottom, #5592bb 0%, #327cad 66%, #1C6EA4 100%);
border-bottom: 2px solid #444444;
}
.divTable.blueTable .divTableHeading .divTableHead {
font-size: 15px;
font-weight: bold;
color: #FFFFFF;
border-left: 2px solid #D0E4F5;
}
.divTable.blueTable .divTableHeading .divTableHead:first-child {
border-left: none;
}
.blueTable .tableFootStyle {
font-size: 11px;
}
.blueTable .tableFootStyle .links {
text-align: right;
}
.blueTable .tableFootStyle .links a {
display: inline-block;
background: #1C6EA4;
color: #FFFFFF;
padding: 2px 8px;
border-radius: 5px;
}
.blueTable.outerTableFooter {
border-top: none;
}
.blueTable.outerTableFooter .tableFootStyle {
padding: 3px 5px;
}
/* DivTable.com */
.divTable {
display: table;
}
.divTableRow {
display: table-row;
}
.divTableHeading {
display: table-header-group;
}
.divTableCell,
.divTableHead {
display: table-cell;
}
.divTableHeading {
display: table-header-group;
}
.divTableFoot {
display: table-footer-group;
}
.divTableBody {
display: table-row-group;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<form class="form-horizontal" action="#" method="post">
<div class="divTable blueTable">
<div class="divTableHeading">
<div class="divTableRow">
<div class="divTableHead">head1</div>
<div class="divTableHead">head2</div>
<div class="divTableHead">head3</div>
<div class="divTableHead">head4</div>
<div class="divTableHead">head5</div>
<div class="divTableHead">head6</div>
<div class="divTableHead">head7</div>
</div>
</div>
<div class="divTableBody">
<div class="divTableRow">
<div class="divTableCell"><input type="text" class="form-control sl" name="slno[]" id="slno" value="1" readonly=""></div>
<div class="divTableCell"><input type="text" class="form-control" name="name[]" id="acc_name" placeholder="Enter Account Name" pattern="[^()/><\][\\\x22,;|]+"></div>
<div class="divTableCell">
<select name="rang[]" id="rang_acc" style="width:120px !important;font-weight: normal !important;" class="form-control sl">
<option value="Bacteria">Bacteria</option>
<option value="Low Life">Low Life</option>
<option value="Apprentice">Apprentice</option>
<option value="Hitman">Hitman</option>
<option value="Assassin">Assassin</option>
<option value="Local Boss">Local Boss</option>
<option value="Boss">Boss</option>
<option value="Godfather">Godfather</option>
</select>
</div>
<div class="divTableCell"><input type="text" class="form-control" name="phone_no[]" id="pn" placeholder="Enter Phone No"></div>
<div class="divTableCell"><input type="text" class="form-control" id="age" name="age[]" placeholder="Enter Age"></div>
<div class="divTableCell"><input type="date" id="dob" name="date_of_birth[]" class="form-control" /></div>
</div>
<div id="next"></div>
</div>
</div>
<br/>
<button type="button" name="addrow" id="addrow" class="btn btn-success pull-right">Add New Row</button>
<br/><br/>
<button type="submit" name="submit" class="btn btn-info pull-left">Submit</button>
</form>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句