我有一個很大的下拉列表,其ID爲inventory
。一旦我選擇一個選項並點擊Añadir
按鈕,該選項的名稱應該被保存,以及它的數量。它可以添加多個選項,以創建一個列表。從下拉列表中選擇
現在的主要問題是,當我按下Añadir
按鈕時,它會複製其名稱和數量,但不僅僅是一次,它會複製與其所選數量相同的次數。它應該只是複製一次:如果我選擇「ABB變頻器(PVI 3.6)」和它的「Cantidad」爲2,它應該會出現只有一個符合「ABB變頻器(PVI 3.6)」和「2」
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- CSS -->
<style type="text/css">
/* general */
*, .border-box {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
/* tr.output */
tr.output {
vertical-align: top;
}
tr.output > td > * {
width: 100%;
}
</style>
<!-- HTML -->
<form name="InventoryUp">
<table>
<tr>
<td colspan="2" align="center" bgcolor="#97d700">
<h2>Equipo(s) a ser utilizados</h2>
</td>
</tr>
<tr>
<td align="center" bgcolor="#D4D4D4"></td>
<td align="center" bgcolor="#D4D4D4"><b><em>Cantidad (#)</em></b>
</td>
</tr>
<tr>
<td align="center" bgcolor="#D4D4D4">
<select id="inventory" size="1">
<option id="0">Seleccione un equipo</option>
<option id="abbi5000">ABB Inverter(5000)</option>
<option id="abbiPVI3.6">ABB Inverter(PVI 3.6)</option>
<option id="abbiPVI4.2">ABB Inverter(PVI 4.2)</option>
<option id="bGE20">Breakers(GE 20 AMP)</option>
<!-- Many more options... -->
</select>
</td>
<td align="center" bgcolor="#D4D4D4">
<input type="number" id="cantidad" placeholder="Ex: 5" size="1">
</td>
</tr>
<tr class="actions">
<td colspan="2" align="center" bgcolor="#D4D4D4">
<!-- Añadir -->
<input type="button" id="anadir" onclick="anadirEquipo()" value="Añadir" />
<!-- Retirar -->
<input type="button" id="retirar" onclick="retirarEquipos()" value="Retirar" />
</td>
</tr>
<tr>
<th align="center" bgcolor="#2AD2C9">
<h4>Equipo(s) añadido(s):</h4>
</th>
<th align="center" bgcolor="#2AD2C9">
<h4>Total:</h4>
</th>
</tr>
<tr class="output">
<td>
<select type="text" id="equipos" multiple readonly>
</select>
</td>
<td>
<input type="number" id="quantity" value="0" readonly />
</td>
</tr>
</table>
</form>
<!-- JavaScript -->
<script type="text/javascript">
// vars
var pageLoaded = false,
model = null;
// functions
function anadirEquipo() {
var cantidad = +document.getElementById('cantidad').value || 1,
selected = model.inventory.options[model.inventory.selectedIndex],
choice;
if (pageLoaded) {
if (+selected.value !== 0) {
model.quantity.value = +model.quantity.value + cantidad;
while (cantidad-- > 0) {
choice = document.createElement('option');
choice.text = selected.text;
choice.value = selected.value;
model.equipos.add(choice);
}
}
}
}
function retirarEquipos() {
var options = model.equipos.options,
i;
if (pageLoaded) {
for (i = 0; i < options.length; i) {
if (options[i].selected) {
model.equipos.remove(options[i]);
model.quantity.value--;
} else {
i++;
}
}
}
}
// init
window.onload = function() {
model = {
inventory: document.getElementById('inventory'),
equipos: document.getElementById('equipos'),
quantity: document.getElementById('quantity')
};
pageLoaded = true;
};
</script>
應該在哪裏添加的選項去了?哪個元素?,它們是否應該追加在'h2'元素之後? – Daniel
正確後,在h2元素 – eduroc92
這裏選擇的選項的名稱: 這裏選擇的數量: 這行應該只讀,我已經改變了它們。 – eduroc92