【发布时间】:2016-07-11 18:37:25
【问题描述】:
请帮助我想在输入列表中应用 javascript。 这就是我现在所拥有的。当我单击选择列表中的项目时,输入文本框将自动填充并且它现在正在工作但是当我使用 jquery 添加输入文本框时,我在选择列表中使用的 javascript 不会应用于新输入。它仅适用于第一个选择,即原始列表。 我应该怎么做才能将它应用于所有选择列表? 点击此link 获取示例
$(document).ready(function() {
$("#category").change(function () {
var unit = $(this).find(':selected').data('number');
$('#numbervalue').val(unit);
});
var counter = 2;
$("#addNumber").click(function () {
var newTextBoxDiv = $(document.createElement('tr')).attr("id", 'TextBoxDivMat' + counter);
newTextBoxDiv.after().html('<td><select id="category"><option data-number="1" value="One">One</option><option data-number="2" value="Two">Two</option><option data-number="3" value="Three">Three</option></select></td><td><input id="numbervalue" type="text"></td>');
newTextBoxDiv.appendTo("#TextBoxesGroupMat");
counter++;
});
$("#removeButtonMat").click(function () {
counter--;
$("#TextBoxDivMat" + counter).remove();
});
});
<table id="TextBoxesGroupMat">
<thead>
<tr>
<th>Word</th>
<th>Number</th>
</tr>
</thead>
<tbody id="TextBoxDivMat1">
<tr>
<td>
<select id="category">
<option data-number="1" value="One">One</option>
<option data-number="2" value="Two">Two</option>
<option data-number="3" value="Three">Three</option>
</select>
</td>
<td><input id="numbervalue" type="text"></td>
</tr>
</tbody>
</table>
<button id="addNumber">+ add number</button>
<button id="removeButtonMat">remove</button>
【问题讨论】:
-
这有一些问题 - 主要是 ID 在页面中必须是特定的,尤其是当您正在查看绑定更改处理程序时。相反,给选择一个类,然后寻找下一个输入以将值添加到选择更改
标签: javascript jquery html arrays