使用 Javascript 将下拉列表的多项选择保存到变量

Posted

技术标签:

【中文标题】使用 Javascript 将下拉列表的多项选择保存到变量【英文标题】:Save multiple selection of dropdown list to variables using Javascript 【发布时间】:2011-02-09 20:01:53 【问题描述】:

我有带有值的下拉列表,以及一个用于写入这些值的文本区域。当我按下按钮时,它会写入所有三个选定下拉列表的值,每次按下按钮时它都会这样做(它会执行三次)。这段代码写入下拉列表的值,如下所示: 第一次按下按钮:“下拉列表的内容” undefinedundefined 第二次按下按钮:未定义“下拉列表的内容”未定义 第三次按下按钮:undefinedundefined"下拉列表的内容"

但我希望下拉列表的值不是“未定义”

你能想到什么?

var i = 0;
function inc()
i++;

if (i == 1)
var UkupnaPorudzbina1 = VrsteName + ' -> ' + PodvrsteName + ' -> ' + VelicineName + i;
else if (i == 2)
var UkupnaPorudzbina2 = VrsteName + ' -> ' + PodvrsteName + ' -> ' + VelicineName + i;
else if (i == 3)
var UkupnaPorudzbina3 = VrsteName + ' -> ' + PodvrsteName + ' -> ' + VelicineName + i;

var porudzba = UkupnaPorudzbina1 + UkupnaPorudzbina2 + UkupnaPorudzbina3;
    document.frmMain.PorudzbaHolder.value = porudzba ;

VrsteName 是:

VrsteName = document.frmMain.Vrste.options[document.frmMain.Vrste.selectedIndex].text

PodvrsteName 和 VelicinaName 是同一种类型

html部分是:

<textarea name="PorudzbaHolder" rows="4"> </textarea>
<input type="button" value="Dodaj porudzbinu" onClick="inc();"/>

提前谢谢...

【问题讨论】:

你至少可以缩短你的变量,这样代码会更容易适应(但这只是我的意见)。 :) @Robert Koritnik,它适合我的宽屏 :) 【参考方案1】:

这是因为您每次只声明三个变量中的一个,但随后又引用了所有三个变量。尝试先声明你的变量并将它们初始化为""

var UkupnaPorudzbina1 = "";
var UkupnaPorudzbina2 = "";
var UkupnaPorudzbina3 = "";

然后按照编写的方式运行其余代码,但在每次分配给UkupnaPorudzbina 之前将var 保留。

【讨论】:

以上是关于使用 Javascript 将下拉列表的多项选择保存到变量的主要内容,如果未能解决你的问题,请参考以下文章

IOS的一个带动画的多项选择的控件

如何防止 optgroups ios Safari 中的多项选择

Handsontable 下拉菜单有多个选择

将 Django 中的多对多关系表示为两个多项选择

使用javascript为下拉列表赋值

创建过滤数据表的多选下拉列表