【发布时间】:2020-06-18 02:27:39
【问题描述】:
我尝试将输入字段动态添加到表单中。它工作正常,除了一件事:
我尝试用 $.each 填充 a,但这仅适用于如果我添加更多动态添加的第一个,则保持为空..
#add 按钮处于初始形式:
追加:
$('#add').click(function() {
i++;
$dynamic_field').append('' +
'<h1>Sensor '+i+'</h1> ' +
'<tr id="row'+i+'">
'<td><div class="form-group">\n' +
'<label for="InputSensorType">Sensor Type*</label>\n' +
'<select class="form-control" id="InputSensorType" name="sensorType[]"></select>\n'
'</div></td>\n +'
'<td>
<button type="button" name="copy" id="copy" class="btn btn-primary">Copy this sensor
</button></td><tr>');
每个:
var jsarray = <?php echo json_encode($sensors)?>;
$.each(jsarray, function (index, value) {
$('#InputSensorType').append(('<option value='+index+'>'+value+'</option>'));
});
谁能帮帮我?
【问题讨论】:
-
您不应该有多个具有相同 ID (InputSensorType) 的元素,这可能是这里的问题。您必须将其更改为一个类,并将其称为 $('.InputSensorType')
-
$dynamic_field在客户端是静态的。另外,jsarray更新在哪里? -
在页面顶部,jsarray 由 for 循环从 excel 文件中读取元素并将它们放入数组中进行更新。如果我使用类而不是 ID,我会收到错误:jquery.min.js:2 Uncaught TypeError: Cannot use 'in' operator to search for '1953' in [all array values]
标签: javascript php jquery append each