使用下拉菜单在新行中选择文本

时间:2016-09-12 16:58:59

标签: javascript

我想制作一些下拉菜单并从此处获取代码:

How to fill in a text field with drop down selection

http://jsfiddle.net/kjy112/kchRh/

HTML:

<textarea id="mytext"></textarea>

<select id="dropdown">
    <option value="">None</option>
    <option value="text1">text1</option>
    <option value="text2">text2</option>
    <option value="text3">text3</option>
    <option value="text4">text4</option>
</select>

JavaScript的:

<script type="text/javascript">
    var mytextbox = document.getElementById('mytext');
    var mydropdown = document.getElementById('dropdown');

    mydropdown.onchange = function(){
          mytextbox.value = mytextbox.value  + this.value; //to appened
         //mytextbox.innerHTML = this.value;
    }
</script>

但是我希望新文本一个接一个地插入新的文本区域行,与之前选择的选项没有相同的行。

感谢任何帮助。谢谢大家。

4 个答案:

答案 0 :(得分:0)

您必须明确添加新行:

mytextbox.value = mytextbox.value  + "\n" + this.value;

如果您不希望在将第一个条目添加到textarea时添加空行,则为其编码:

if(mytextbox.value) {
  mytextbox.value = mytextbox.value  + "\n" + this.value;
} else {
  mytextbox.value = this.value;
}

答案 1 :(得分:0)

也尝试这样。

 mytextbox.value = mytextbox.value  + this.value +"\n";

答案 2 :(得分:0)

您可以输入“\ r \ n”来插入新行

mydropdown.onchange = function(){
     mytextbox.value = mytextbox.value  + "\r\n" + this.value;
}

您只需验证第一个项目是否在第一个地方插入新行

答案 3 :(得分:0)

请调查JS小提琴

http://jsfiddle.net/s293s7cz/

mydropdown.onchange = function(){
     if(!mytextbox.value)
     mytextbox.value = this.value; //first case or else you will have a newline at first 
     else
     mytextbox.value = mytextbox.value  + '\n' + this.value;
}