我有一个 Web 应用程序,用户可以在其中动态添加家喻户晓的名字,并根据需要删除这些名字。
在我看来:
<tr>
<td>Add Household</td>
</tr>
<tr>
<td>
<div class="field_wrapper">
<div>
<select name="field_name[]" value="" id="drop2" style="color:black;">
<?php
foreach ($head as $row) {
echo "<option style='color:black;' value='".$row['hh_id']."'>".$row['hh_fname']." ".$row['hh_lname']."</option>";?>
</select>
<a href="javascript:void(0);" class="add_button" title="Add field"><img src="<?php echo base_url('dist/img/add-icon.png'); ?>" /></a>
</div>
</div>
</td>
</tr>
脚本:
<script type="text/javascript">
$(document).ready(function(){
var maxField = 10; //Input fields increment limitation
var addButton = $('.add_button'); //Add button selector
var wrapper = $('.field_wrapper'); //Input field wrapper
var fieldHTML = '<div><select name="field_name[]"><option></option></select><a href="javascript:void(0);" class="remove_button" title="Remove field"><img src="<?php echo base_url("dist/img/remove-icon.png"); ?>" /></a></div>'; //New input field html
var x = 1; //Initial field counter is 1
$(addButton).click(function(){ //Once add button is clicked
if(x < maxField){ //Check maximum number of input fields
x++; //Increment field counter
$(wrapper).append(fieldHTML); // Add field html
}
});
$(wrapper).on('click', '.remove_button', function(e){ //Once remove button is clicked
e.preventDefault();
$(this).parent('div').remove(); //Remove field html
x--; //Decrement field counter
});
});
</script>
我希望每当用户单击“添加”按钮时,都应显示与第一个下拉列表相同的下拉列表。我应该如何在脚本部分实现这一点?那么如何将 fieldHtml
填充到下拉列表中?
add
和 remove
功能运行良好。只是每当有添加时,它都应该显示下拉菜单。
非常感谢您的帮助。
最佳答案
有一个解决方法可以帮助您。您可以选择多行,而不是重新打开下拉列表:
<select name="field_name[]" value="" id="drop2" style="color:black;" size="10">
使用 select
标记上的 size
属性,您将不会有弹出窗口下拉菜单,但您将拥有一个始终可见的类似下拉菜单的元素。
关于javascript - 在 codeigniter php 中每次点击都显示下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33695676/