【发布时间】:2018-07-07 14:23:40
【问题描述】:
我有一个输入字段和一个带有 MySQL 值的选择选项。如何动态添加更多输入字段并使用 MySQL 值进行选择?我正在尝试解决这个问题,但结果很糟糕:
我想用它来更新我的数据库,我可以用它更新多个数据,但是删除以前的字段按钮不起作用,最后有 +1 添加更多按钮。我怎么解决这个问题?我正在尝试使用 append 方法,但它不适用于 MySQL 数据。
index.php
<div class="form-group add-field">
<div class="partner">
<table>
<tr>
<td>
<select name="partnerSelect[]" id="partnerSelect" class="form-control">
<option disabled selected value> -- select an option -- </option>
<?php
while($row = $partnerResult -> fetch_array()) {
?>
<option value="<?php echo $row['partner_id'];?>"><?php echo $row['partner'];?></option>
<?php
}
?>
</select>
</td>
<td><input type="text" placeholder="Enter description" name="description[]" id="description" class="form-control" /></td>
</tr>
</table>
</div>
<div class="btn btn-warning add-more"><span>+ Add More</span></div>
</div>
<script>
$(document).ready(function(){
var data_fo = $('.add-field').html();
var sd = '<div class="btn btn-danger remove-add-more">Remove</div>';
var data_combine = data_fo.concat(sd);
var max_fields = 5; //maximum input boxes allowed
var wrapper = $(".partner"); //Fields wrapper
var add_button = $(".add-more"); //Add button ID
var x = 1; //initlal text box count
$(add_button).click(function(e){ //on add input button click
e.preventDefault();
if(x < max_fields){ //max input box allowed
x++; //text box increment
$(wrapper).append(data_combine); //add input box
//$(wrapper).append('<div class="remove-add-more">Remove</div>')
}
// console.log(data_fo);
});
$(wrapper).on("click",".remove-add-more", function(e){ //user click on remove text
e.preventDefault();
$(this).prev('.partner').remove();
//$(".add-more").prev('.user').remove(); It's remove all the buttons and inputs
$(this).remove();
x--;
});
});
</script>
【问题讨论】:
-
您可以使用 jQuery Repeater 克隆字段
http://briandetering.net/repeater
标签: javascript jquery html mysql