如何检查是否选择了三项中的任何一项。我的选项表2列出看起来像这样如何检查是否在JavaScript中选择了任何选项
<div class="fruits">
<select>
<option>apple</option>
<option>orange</option>
<option>banana</option>
<option>hello</option>
<option>Bye</option>
<select>
</div>
<div id="criteria">
<select>
<option>fruits</option>
<option>in season</option>
<option>expensive</option>
</select>
</div>
我想使“标准” ID选项只读如果有三个选项苹果,橘子,香蕉都没有选择。可以选择课程“水果”中的多个选项。喜欢用户可以选择苹果或你好,你好或再见苹果和香蕉。
什么是可能的逻辑。我已经尝试了几个像维护与苹果,橙色和香蕉键和对象价值是他们的点击次数,如果计数是0的所有键然后我会隐藏另一个选项标签。
我尝试了其他方法。这一个 代码是在这里:
<script>
var count = 0;
fruitsList = document.getElementsByClassName("fruits");
var countObj = {
apple: 0,
orange:0,
banana:0,
}
for(var i = 0; i<= fruitsList.length-1 ; i++){
fruitsList[i].addEventListener("click", function(){
\* have to grab the value of the elements because the list of elements is generated by PHP and there will be plenty of elements *\
var threeOption = this.getAttribute("value");
if(fourOption == 'apple' || fourOption == 'orange' || fourOption == 'banana'){
if(this.selected == true){
countObj[fourOption]++;
}
else if(this.selected == false){
countObj[fourOption]--;
}
else{
countObj[fourOption]--;
}
}
for (var key in countObj) {
if (Object.prototype.hasOwnProperty.call(countObj, key)) {
var val = countObj[key];
if(val>0){
count = 1;
}
}
}
if(count==1){
for(var i = 0 ; i<=5 ; i++){
document.querySelectorAll("#criteria option")[i].removeAttribute("disabled");
}
}
else{
for(var i = 0 ; i<=5 ; i++){
document.querySelectorAll("#criteria option")[i].setAttribute("disabled","true");
}
}
});
}
</script>
的选项应若再苹果,橙子或香蕉的重新出现任何重新选择,如果不选择,他们应该成为readOnly的。 请推荐一个逻辑。我第一次发布问题。请让我知道,如果我误解了任何地方,我将很乐意在未来纠正自己。 谢谢
我怎么能在这方面的getComputedStyle使用?无论如何得到元素的当前状态,如天气选择与否。 – Neetigya