我正在尝试使用 javascript 动态添加输入表单。
例如,如果我单击“添加更多字段”按钮,它将自动添加另一个选择输入表单。
当我使用包含 PHP 代码的选择输入表单进行尝试时。这不起作用。它给了我一个错误 Uncaught SyntaxError: Invalid or Unexpected token
PHP/HTML:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div class="input_fields_wrap">
<button class="btn btn-primary add_field_button" type="button">Add More Fields</button>
<div>
<select class="form-control" name="findings[]">
<?php
$option = '<option value="'.$row->id.'">'.$row->illness.'</option>';
foreach($findings->result() as $row)
{
echo '<option value="'.$row->id.'">'.$row->illness.'</option>';
}
?>
</select>
</div>
</div>
</body>
</html>
JS:
$(document).ready(function() {
var max_fields = 10; //maximum input boxes allowed
var wrapper = $(".input_fields_wrap"); //Fields wrapper
var add_button = $(".add_field_button"); //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('<div> < select class = "form-control"
name = "findings[]" >
<?php
foreach($findings->result() as $row)
{
echo "<option value="$row->id">$row->illness</option>";
}
?> < /select> class="remove_field">Remove</a > < /div>'); / / add input box
}
}); $(wrapper).on("click", ".remove_field", function(e) { //user click on remove text
e.preventDefault();
$(this).parent('div').remove();
x--;
})
});
最佳答案
我为您实现了一个示例:
JS代码:
$(document).ready(function() {
var max_fields = 10; //maximum input boxes allowed
var wrapper = $(".input_fields_wrap"); //Fields wrapper
var add_button = $(".add_field_button"); //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
$( ".aaaa" ).first().clone().appendTo( ".input_fields_wrap" );
}
});
$(wrapper).on("click", ".remove_field", function(e) {
e.preventDefault();
if($(".aaaa").length > 1) {
$(this).parent('div').remove();
} else {
alert('You can not delete all elements');
}
})
});
HTML 代码:
<div class="input_fields_wrap">
<button class="btn btn-primary add_field_button" type="button">Add More Fields</button>
<div class="aaaa">
<select class="form-control" name="findings[]">
<option value="a">aaaaaa</option>
<option value="b">bbbbbb</option>
<option value="c">ccccccc</option>
</select>
<button class="remove_field">Remove</button>
</div>
</div>
如果您想使用 PHP 作为选择选项,请按如下方式使用
<select class="form-control" name="findings[]">
<option value="">Select an option</option>
<?php
if($findings->result()) {
foreach($findings->result() as $row) {
echo '<option value="'.$row->id.'">'.$row->illness.'</option>';
}
}
?>
</select>
关于javascript - 使用 javascript 中的append() 到带有 PHP 代码的选择表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41318499/