【发布时间】:2016-08-13 15:18:20
【问题描述】:
我想在输入标签之后创建带有文本(或类似内容)的 p 标签,在此用户在选择标签中选择国家之前通知用户他/她在此字段中输入的值。
例如:
用户选择美国:输入后必须出现“USD”
用户选择英格兰:输入后必须出现“GBP”
请解释为什么我的代码不起作用,这是正确的方法吗?
JS:
function insertAfter(referenceNode, newNode)
{
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}
function createText()
{
var selectValue = document.getElementById("money").value;
var CashInput = document.getElementById("cash");
var temp = document.createElement("p");
if (selectValue == "pound")
{
var text = "GBP";
temp.appendChild(text);
insertAfter(CashInput, temp);
}
}
HTML:
<select id="money" onchange="createText();">
<option value="pound">England</option>
<option value="doll">USA</option>
</select>
<input id="cash">
【问题讨论】:
-
您的代码不起作用,因为
.appendChild()用于附加节点,而不是文本字符串。相反,请temp.appendChild(document.createTextNode("GBP"))
标签: javascript html select input