如何在同一页面上显示JavaScript中的选项结果

时间:2016-01-30 05:37:37

标签: javascript

我是JS的新手,还在玩基础知识。选择完成后,我在<div>的同一页面上显示结果时遇到问题。由于某种原因,结果显示在新页面上。

JS代码:

<script>
  function changeFunc(choice){
    var x = choice.value;
    document.write("You choose " + x + " option");
  }
</script>

HTML:

<div id="test">
  <h2>Choose one</h2>
  <select onchange="changeFunc(this)">
   <option>1</option>
   <option>2</option>
   <option>3</option>
   <option>4</option>
 </select>
</div>

3 个答案:

答案 0 :(得分:0)

不要使用document.write。相反,在html中创建一个div并将结果写入该div。

HTML:

<div id='result'></div>

使用Javascript:

function changeFunc(choice)
{
   var x = choice.value;
   document.getElementById("result").innerHTML = "You choose " + x + " option";
}

答案 1 :(得分:0)

  

而不是使用document.write使用node.innerHTML..like this

 <head>
   <script>    
      function changeFunc(choice){
        var x = choice.value;
       //document.write("You choose " + x + " option");
        document.getElementById("result").innerHTML = "You choose " + x + " option";
    }
   </script>
 </head>
 <body>
   <div id="test">
     <h2>Choose one</h2>
     <select onchange="changeFunc(this)">
       <option>1</option>
       <option>2</option>
       <option>3</option>
       <option>4</option>
     </select>
  </div>
<div id="result"></div>

write()方法主要用于测试:如果在HTML文档完全加载后使用它,它将删除所有现有的HTML。

注意:当此方法不用于测试时,它通常用于将一些文本写入document.open()方法打开的输出流。

答案 2 :(得分:0)

你可以定义一个新的DIV,然后通过innerHTML更新它。

这是一个工作示例:

&#13;
&#13;
	var displayDiv = document.getElementById('displayResult');

changeFunc =   function(choice){
    var x = choice.value;
    displayDiv.innerHTML = "you choose" + x;

  }
  
&#13;
<div id="test">
  <h2>Choose one</h2>
  <select onchange="changeFunc(this)">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
  </select>
</div>
<div id="displayResult"></div>
&#13;
&#13;
&#13;

https://jsfiddle.net/u1rfwcf1/3/