如何检查是否选择了这三个项目中的任何一个。我有两个选项列表看起来像这样
<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>
如果未选择apple,orange,banana这三个选项中的任何一个,我想让“条件”Id选项只读。可以选择“水果”类中的多个选项。用户可以选择苹果或你好,你好或再见,苹果和香蕉。
可能的逻辑是什么。我试过很少接近像用苹果,橙子和香蕉维护一个带有对象的对象,并且值是他们的点击次数,如果count是所有键的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>
如果再次选择苹果,橙子或香蕉中的任何一个,则应重新出现这些选项,如果未选中,则应该只读取。 请提出一个逻辑。这是我第一次发帖提问。如果我在任何地方都弄错了,请告诉我,我很乐意将来纠正自己。 谢谢
答案 0 :(得分:0)
您可能需要使用getComputedStyle
未经测试,但您可以试试这个
function setElement(){
// pass the element
window.onscroll = function(){scroll(element)};
}
function scroll(elem){
eHeight = window.getComputedStyle(elem,null).getPropertyValue("height");
//Rest of the code
}
答案 1 :(得分:0)
我找到了答案。使用jQuery我能够获得当前选择,然后检查当前选择是否包含苹果,橙色或香蕉。 以下是JQuery API文档中相应函数的链接。
http://learn.jquery.com/using-jquery-core/faq/how-do-i-get-the-text-value-of-a-selected-option/