变量中的多项选择

时间:2019-01-12 00:18:18

标签: javascript html

你好

var action = document.getElementById("action").value;
var a = document.getElementById("a").value;
var b = document.getElementById("b").value;
var c = document.getElementById("c").value;
var d = document.getElementById("d").value;
var e = document.getElementById("e").value;
var f = document.getElementById("f").value;
<select class="form-control" multiple id="action">
  <option id="a">A</option>
  <option id="b">B</option>
  <option id="c">C</option>
  <option id="d">D</option>
  <option id="e">E</option>
  <option id="f">F</option>
</select>

例如,当我选择选项A和B时,我正在尝试使用它,这两个选项都将等于X,而另一个选项将为空。 / p>

如果选择了选项A,B,C:

A = "X"
B = "X"
C = "X"
D = ""
E = ""
F = ""

预先感谢,是的!

3 个答案:

答案 0 :(得分:0)

为此,您必须向onchange元素添加<select>侦听器,以便在所选选项更改时可以运行一个函数。

之后,您可以使用action.options获得所有选项,并且可以检查是否使用action.option[N].selected选择了一个选项。

这里是一个例子:

var action = document.getElementById("action");
action.addEventListener("change", function() { // listen for changes
  var options = Array.from(action.options).reduce((a, o) => { // create an object using the option's value as a key and "X" as value if the option is selected;
    a[o.value] = o.selected ? "X" : "";
    return a; 
  }, {});

  console.log(options);
})
<select class="form-control" multiple id="action">
  <option id="a">A</option>
  <option id="b">B</option>
  <option id="c">C</option>
  <option id="d">D</option>
  <option id="e">E</option>
  <option id="f">F</option>
</select>

答案 1 :(得分:0)

var a = document.querySelector('#a');
var b = document.querySelector('#b');
var c = document.querySelector('#c');
var d = document.querySelector('#d');
var e = document.querySelector('#e');
var f = document.querySelector('#f');

a.addEventListener('click',()=>{
a = 'X'; //use this if want to change var a
})

b.addEventListener('click',function(){
b = 'X';
})

c.addEventListener('click',function(){
c = 'X';
})

d.addEventListener('click',function(){
d = 'X';
})

e.addEventListener('click',function(){
e = 'X';
})

f.addEventListener('click',function(){
f = 'X';
})
<select class="form-control" multiple id="action">
  <option id="a">A</option>
  <option id="b">B</option>
  <option id="c">C</option>
  <option id="d">D</option>
  <option id="e">E</option>
  <option id="f">F</option>
</select>

也许您可以使用此代码。

答案 2 :(得分:0)

找到了解决方案。 首先,将选项上的所有值都更改为“ X”(在我的情况下,希望将其设置为X)。

var values = $('#action').val();
var e = values[4];
var b = values[1];
var ce = values[2];
var d = values[3];
var f = values[5];
var a = values[0];

if (a == undefined){
    a = "";
}

if (b == undefined){
    b = "";
}

if (ce == undefined){
    ce = "";
}

if (d == undefined){
    d = "";
}

if (e == undefined){
    e = "";
}

if (f == undefined){
    f = "";
}