我有一个输入字段和一个带有mysql值的select选项。如何动态添加更多的输入字段并使用mysql值进行选择?我试图解决这个问题,但结果很糟糕:
我想用它来更新我的数据库,我可以用它来更新多个数据,但是删除以前的字段按钮不起作用,最后还有+1添加更多按钮。我怎样才能解决这个问题?我尝试使用append方法,但它不能处理mysql数据。
索引.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>
2条答案
按热度按时间flvlnr441#
你很接近,只是有几件事有点不对劲。我保持了你的代码相同的格式,但清理了一点。如果你有任何问题,请告诉我。
我把它放在一个片段中,这样你就可以在这里运行它了。但是您可以像以前一样返回并将jquery放在脚本标记中
bvhaajcl2#