gpt4 book ai didi

javascript - 如何在javascript中访问多个选择数组数据

转载 作者:行者123 更新时间:2023-11-30 10:31:54 26 4
gpt4 key购买 nike

我有一个多选框,我想在 javascript 中访问选定的数据。这是代码:

<form onsubmit="return false;" id="multisel">
<select name="a[]" id="a" multiple style="width:350px;" tabindex="4">
<option value="Pedro">1</option>
<option value="Alexis">2</option>
<option value="Messi">3</option>
<option value="Villa">4</option>
<option value="Andres">5</option>
<option value="Sergio">6</option>
<option value="Xavi">7</option>
</select>

<button id="btn1" onclick="ajaxmultiselect()" type="submit" class="btn btn-primary">Save changes</button>

<p id="status"></p>
</form>

这是我到目前为止尝试过的代码:

<script>    
function ajaxmultiselect(){
var input = [];
input = document.getElementById("a").value;
var status = _("status");
if(input == ""){
status.innerHTML = "Fill out all of the form data";
}else {
status.innerHTML = input;
}
}
</script>

当我运行代码时,它只给出第一个值。我试图访问 php 中的值并且它工作正常,它在 php 中将值作为数组传递。为什么它不对 javascript 做同样的事情?

我还尝试为值的长度运行一个循环,但它只计算第一个选择的长度。我想显示所有将被选中的值。

我们将不胜感激。

最佳答案

您可以执行以下操作:

function getSelectedOptions(element) {
// validate element
if(!element || !element.options)
return []; //or null?

// return HTML5 implementation of selectedOptions instead.
if (element.selectedOptions)
return element.selectedOptions;

// you are here because your browser doesn't have the HTML5 selectedOptions
var opts = element.options;
var selectedOptions = [];
for(var i = 0; i < opts.length; i++) {
if(opts[i].selected) {
selectedOptions.push(opts[i]);
}
}
return selectedOptions;
}

然后更改您的 ajaxmultiselect(),这样您就可以这样调用它:

input = getSelectedOptions(document.getElementById("a"));

您将不得不迭代这些值。

关于javascript - 如何在javascript中访问多个选择数组数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16448587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com