我有一个按钮,可以打开一个弹出窗口,让我从列表中选择一些东西,然后返回到带有 ID 和 NAME 变量的父页面。在父页面中,我将 ID 存储在隐藏字段中,将 NAME 存储在文本框中。 当我从列表中选择一件事时,这没问题。但是现在我想选择多个东西并将 ID 和 NAME 存储在列表框值和文本属性中。 我怎样才能做到这一点? 这些是我用于文本框和隐藏字段的 javascript 代码。
<script type="text/javascript">
function get_selected_machine(ID, NAME) {
document.getElementById("txtName").value = NAME;
document.getElementById("hdnID").value = ID;
}
</script>
最佳答案
下面是一个非常简单的示例,说明了如何使用纯 JavaScript 从列表框中获取值。一旦拥有这些值,您决定如何将它们存储在客户端上取决于您。
HTML:
<select id="multiSelect" size="5" multiple="multiple">
<option value="o1">Option 1</option>
<option value="o2">Option 2</option>
<option value="o3">Option 3</option>
<option value="o4">Option 4</option>
<option value="o5">Option 5</option>
<option value="o6">Option 6</option>
</select>
<br />
<button id="btnGetValues" onclick="GetValues()">Get Values</button>
JavaScript
function GetValues() {
//Get select object
var myList = document.getElementById("multiSelect");
//Create array to store selected values
var aryMySelectOptions = new Array();
//Loop through all values and grab selected
for (var i = 0; i < myList.options.length; i++) {
if (myList.options[i].selected) {
aryMySelectOptions.push(new selectOption(myList.options[i].innerText, myList.options[i].value));
}
}
//Loop through selected values and alert for debugging purposes
for (var i = 0; i < aryMySelectOptions.length; i++) {
alert("Text: " + aryMySelectOptions[i].text + ". Value: " + aryMySelectOptions[i].value + ".");
}
}
function selectOption(text, value) {
var text;
var value;
this.text = text;
this.value = value;
}
这是一个 working jsFiddle .
注意: jsFiddle 使用 jQuery,但仅作为附加到按钮点击事件的一种方式。我没有将 jQuery 用于任何其他用途,因为我假设您想要一个纯 JS 解决方案(您没有在帖子中标记 jQuery)。
关于javascript - 将 javascript 值存储在列表框中 (ASP.NET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7647153/