在<p>标记中创建文本取决于<select>标记,javascript

时间:2016-04-20 18:36:57

标签: javascript html select input

我想在输入标记之后创建带有文本(或类似内容)的p标记,在此用户选择select标记中的国家之前,通知用户他/她在此字段中键入的值。 例如: 用户选择美国:输入后必须出现&#34; USD&#34; 用户选择英格兰:输入后必须出现&#34; GBP&#34; 并解释为什么我的代码不起作用,这是正确的方法吗? JS: function InsertAfter(referenceNode,newNode) {      referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling); } function createText() {      var selectValue = document.getElementById(&#34; money&#34;)。value;      var CashInput = document.getElementById(&#34; cash&#34;);      var temp = document.createElement(&#34; p&#34;);      if(selectValue ==&#34; pound&#34;)      {          var text =&#34; GBP&#34 ;;          temp.appendChild(文本);          insertAfter(CashInput,temp);      } } HTML: &lt; select id =&#34; money&#34;平变化=&#34; createText();&#34;&GT;     &lt; option value =&#34; pound&#34;&gt; England&lt; / option&gt;     &lt; option value =&#34; doll&#34;&gt; USA&lt; / option&gt; &LT; /选择&GT;     &lt; input id =&#34; cash&#34;&gt;

1 个答案:

答案 0 :(得分:1)

我建议使用现有元素,只是更改它的innerText属性。这是一个有效的例子。

&#13;
&#13;
function insertAfter(referenceNode, newNode) 
{
     referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}

function createText() 
{
     var selectValue = document.getElementById("money").value;
     var CashInput = document.getElementById("cash");
     if (selectValue == "pound") 
     {
         var text = "GBP";
     } else if (selectValue == "doll") {
         text = "USD";
     }
     document.getElementById("currency").innerText = text;
}
createText();
&#13;
<select id="money" onchange="createText();">
<option value="pound">England</option>
<option value="doll">USA</option>
</select>


<input id="cash">
<span id="currency"></span>
&#13;
&#13;
&#13;