从多个html select元素中获取数据

时间:2017-11-26 09:20:26

标签: javascript dom html-select

我正在使用使用IIFE实现的MVC模式。我从html中获取了多个条件选择框并将它们放入数据模型中。

当我得到一个选择时,节点/元素也包含选项。

document.querySelectorAll(DOMStrings.selectDepthLevel)

选项是单独的子节点还是仅仅和选择节点内的数组,意思是:

如果我的数据模型中有一个引用选项,我可以获取/修改选项的属性而无需通过父选择节点吗?

1 个答案:

答案 0 :(得分:1)

这是一个小帮助: - )

from collections import defaultdict
from statistics import mean

d = defaultdict(list)

for item in data:
    hour = item['datetime'][11:13]
    d[hour].append(item['score'])

summary = [{'hour': '{}:00'.format(hour), 'average_score': mean(d[hour])} for hour in d]

from pprint import pprint
pprint(summary)
var select = document.getElementById("select");

var data = [{
  value: "option1",
  label: "Option 1"
}, {
  value: "option2",
  label: "Option 2"
}, {
  value: "option3",
  label: "Option 3"
}];

data.forEach(function (x, i) {
  var option = document.createElement("option");
  option.setAttribute("value", data[i].value);
  option.innerHTML = data[i].label;
  select.appendChild(option);
});

function revealData () {
  alert(JSON.stringify(data, 0, 2));
}

function revealHtml () {
  alert(select.innerHTML.replace(/></g, ">\n<"));
}

function editOption (n) {
  var option, value, label, i;
  value = prompt("Value for option #" + n + ":");
  if (value !== null) {
    label = prompt("Label for option #" + n + ":");
    if (label !== null) {
      i = n - 1;
      data[i].value = value;
      data[i].label = label;
      option = select.childNodes[i];
      option.setAttribute("value", data[i].value);
      option.innerHTML = data[i].label;
    }
  }
}