店内的Javascript 阵列内的下拉值(Javascript store <select

2019-09-21 07:54发布

我不知道是否有可能选定的值从存储<select>在一个JS阵列。

我最后需要做的是计算最高6个值了约10下拉菜单中,我想我可以用JS Math.max()函数来完成的。

帮助是极大的赞赏。

下面是一些示例代码:

<? while($subjects = mysql_fetch_array($query)) { ?>
<select class="points">
<optgroup label="<?=$subjects['name']?>">
  <option value="100">A1</option>
  <option value="90">A2</option>
  <option value="85">B1</option>
  <option value="80">B2</option>
  <option value="75">B3</option>
</optgroup>
</select>
<? } ?>

<script>....

Answer 1:

做这样的事情(JQuery的):

var selected = new Array();
            $('.points option:selected').each(function() {
                selected.push($(this).val());
            });


Answer 2:

var selects = [].slice.apply(document.getElementsByTagName('select'));
selects.forEach(function (elem, i){
    var value = elem.options[elem.selectedIndex].value;
    //Do something with this value. Push it to an array, perhaps.
});​

这是假设所有的select页面S上应包括在内。 如果不是的话,那么你应该使用document.getElementsByClassName或类似的,更合适的选择来代替。

演示



Answer 3:

尝试这个:

var selectValues = [];
var selectNodeList = document.getElementsByClassName("points");
for (var i = 0; i < selectNodeList.length; i++) {
    selectValues.push(selectNodeList[i].value)
}
// selectValues array now stores values of all <select> lists with class "points"


文章来源: Javascript store 举报