创建元素时不要更改选择表单的选项
Dont changes option of select form when i createElement
Help.plz. I create a tr "unitTableTr"。在这个 tr 里面,我 vreate a td。在创建的一个td中,在我创建了一个"unitTableTr"之后,我需要从选项中放置文本。我放入 td 中的文本,但仅适用于第一个选项 - 0.25。如果我尝试采用"选项 2"并将"选项 2"文本放入 td 中,则它只输入"选项 1"文本。
再来一次:如果我选择"选项 3",我需要 - 表中必须是"选项 3"文本,如果"选项 4"-"选项 4"文本。
我在代码中做错了什么?请帮忙
<form>
<select id="work1" style="float: left;">
<option>Выберите расценку:</option>
<option value="0">0,25 км</option>
<option value="1">0,25 -о 2,5 км</option>
<option value="2">2,5 - 4,5 км</option>
<option value="3">4,5 км</option>
<option value="4">schools</option>
<option value="5">base</option>
</select>
<div><span>+</span>
<input type="text"> meters</div>
</form>
<a onclick="createUnit()"> + </a>
<a onclick="removeUnit()"> x </a>
</div>
<script>
var table_index = 0;
var a = document.getElementById("work1");
var b = a.options[a.selectedIndex].text;
var c = document.createTextNode(b);
c.innerHTML = b;
text3.appendChild(c);
function createUnit() {
var unitTableTr = document.createElement('tr');
var unitTableTrTd_1 = document.createElement('td');
table_index++;
var td_1_p = document.createTextNode(table_index );
unitTableTrTd_1.appendChild(td_1_p);
unitTableTr.appendChild(unitTableTrTd_1);
var unitTableTrTd_2 = document.createElement('td');
var text2 = document.createTextNode("Reconstruction ");
var p = document.createElement("p");
var text3 = document.createTextNode(c.innerHTML);
p.id ="text3";
unitTableTrTd_2.appendChild(p);
unitTableTr.appendChild(unitTableTrTd_2);
p.appendChild(text2);
p.appendChild(text3);
var unitTableTrTd_3 = document.createElement('td');
unitTableTr.appendChild(unitTableTrTd_3);
var unitTableTrTd_4 = document.createElement('td');
unitTableTr.appendChild(unitTableTrTd_4);
var unitTableTrTd_5 = document.createElement('td');
unitTableTr.appendChild(unitTableTrTd_5);
begin_table.appendChild(unitTableTr);
}
</script>
我相信
您的问题是由执行顺序引起的。
您的代码不起作用,因为以下代码仅在页面加载时执行一次:
var b = a.options[a.selectedIndex].text;
var c = document.createTextNode(b);
c.innerHTML = b;
text3.appendChild(c);
在您的代码中,您将在 createUnit()
函数之前显示这种情况。所以这只会运行一次 - 在页面加载时。当页面加载时,所选索引始终是选项列表中的第一项。
从你的英语中,很难确切地说出你希望你的程序如何工作,但是,每次你想要创建该元素时,你都需要获取选定的索引。通过将上面的代码移动到createUnit()
函数中,它可以解决您的问题,但同样......如果不长时间研究,很难说出您的程序在做什么。
相关文章:
- 在带有 bootbox 的自定义对话框中添加选项以选择表单控件.js在 ASP.NET MVC 中
- 如何通过按钮更改选择表单
- 在提交数据之前更改选择表单元素中的值
- 试图让Jquery在Rails和ActiveAdmin中使用动态选择表单
- HTML使用选择表单更改输入选择(可能使用JQuery?)
- Mootools提交表单仅在通过ID选择表单时有效
- 如何发布单选和复选框选择?表单由php和js处理
- 订阅选择表单中的不同选项
- 带有选择表单和文本字段的简单计算器
- text()不适用于选择表单输入
- 按下按键输入时输入表单和选择表单之间的冲突
- 选择表单后从数据库中获取隐藏的输入值
- 如何在给定焦点时选择表单输入中的文本
- 触发链接以在 If 语句中选择表单时触发
- 使用 Javascript 函数从 HTML 选择表单生成价格
- 使用 JavaScript 清空选择表单元素
- Ajax 动态选择表单未提交值
- JavaScript 选择表单选项
- 创建元素时不要更改选择表单的选项
- 如何做一个HTML选择表单,其中所选选项更新JSON值