【发布时间】:2019-09-16 05:58:35
【问题描述】:
function cloneRow() {
var row = document.getElementById("dropdowns");
var table = document.getElementById("tableDrop");
var clone = row.cloneNode(true);
clone.id = "dropdowns";
table.appendChild(clone);
var x = document.getElementById("beansDrop");
x.remove(x.selectedIndex);
}
<div class="modal-body">
<form method="post" action="adeliveries.php">
<table align="center">
<tr>
<td>Supplier:</td>
<td id="num">
<select name="num">
<?php while($row1 = mysqli_fetch_array($result2)):;?>
<option value="<?php echo $row1[3];?>">
<?php echo $row1[1], " - " , $row1[3];?>
</option>
<?php endwhile;?>
</select>
</td>
</tr>
</table>
<div style="overflow-x:auto;">
<table id="tableDrop">
<tr>
<th>
<h5>COFFEE BEAN</h5>
</th>
<th>
<h5>QUANTITY(kg)</h5>
</th>
<th>
<h5>REMOVE ORDER</h5>
</th>
</tr>
<tr id="dropdowns">
<td id="beansDropdown">
<select name="beans[]" id="beansDrop">
<?php while($row1 = mysqli_fetch_array($result1)):;?>
<option value="<?php echo $row1[1], " - ";?>">
<?php echo $row1[1];?>
</option>
<?php endwhile;?>
</select>
</td>
<td id="quantity">
<input type="number" name="quan[]" placeholder="enter quantity" required>
</td>
<td id="remove">
<input type="button" value="✖" onclick="RemoveOrder()">
</td>
</tr>
</table>
</div>
<table>
<br>
<tr>
<td><input type="button" onclick="cloneRow()" value="Add Order" class="btn btn-secondary" /></td>
<td><input type="submit" name="abc" value="Send" class="btn btn-primary" /></td>
</tr>
</table>
</form>
</div>
我正在创建一个简单的订单表单,用户可以从下拉菜单中选择咖啡豆类别并输入数量。有一个添加订单按钮,如果用户希望订购另一个,它将克隆该行。当我单击添加订单时,我可以做些什么来自动隐藏或删除选定的 bean/s?因为它只是简单地克隆了行。
我尝试过循环,但我对它的逻辑感到困惑。
每次我克隆该行时,它也会在每个下拉菜单中被删除,包括我从中选择它的下拉菜单。
function cloneRow(){
var row = document.getElementById("dropdowns");
var table = document.getElementById("tableDrop");
var clone = row.cloneNode(true);
clone.id = "dropdowns";
table.appendChild(clone);
var x = document.getElementById("beansDrop");
x.remove(x.selectedIndex);
}
<tr id="dropdowns">
<td id="beansDropdown">
<select name="beans[]" id="beansDrop">
<option value="beans1">beans1</option>
<option value="beans2">beans2</option>
<option value="beans3">beans3</option>
<option value="beans4">beans4</option>
</select>
</td>
<td id="quantity">
<input type="number" name="quan[]" placeholder="enter quantity" required>
</td>
<td id="remove">
<input type="button" value="✖" onclick="RemoveOrder()">
</td>
</tr>
【问题讨论】:
-
您的标记中的 php 代码破坏了示例代码 sn-p,因此我将其转换为静态示例标记。
-
我还添加了缺少的按钮来触发克隆以及
<table>,所以我们有一个最小的示例。 -
虽然这不是您遇到的问题,但是当您克隆时,您会复制 ID,并且它们应该是唯一的。
-
@imvain2 我最近弄清楚了这个逻辑,但是当我尝试这样做时,我已经对如何编码感到困惑。我不太习惯 JavaScript,而且我在构建代码时遇到了困难。虽然我得到了一些逻辑,但我很难将它应用到我的代码中。
-
@Connum 我已经编辑了 sn-p 并添加了 html 文件的一些部分。
标签: javascript html