我想制作一些下拉菜单并从此处获取代码:
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>
但是我希望新文本一个接一个地插入新的文本区域行,与之前选择的选项没有相同的行。
感谢任何帮助。谢谢大家。
答案 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小提琴
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;
}