作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
抱歉,如果标题很困惑,让我尝试让它变得更简单......
假设复选框为每个复选框返回以下内容:
checkboxOne = false;
checkboxTwo = true;
checkboxThree = true;
checkboxFour = true;
我还有4个功能:
userFuncOne() {...}
userFuncTwo() {...}
userFuncThree() {...}
userFuncFour() {...}
如果 2 个或更多复选框为真,我希望随机触发其中一个功能,但仅限与 true
关联的功能。值(value)。所以在上面的例子中,userFuncOne()
不能触发,其余都可以,而且只有其中一个是随机触发的。
我怎样才能最有效地做到这一点?显然我可以做一堆 if 和 else,但这似乎效率非常低。
还有更好的办法吗?谢谢!
最佳答案
这是我评论中的示例片段,也许您想要什么?您可能想要调整它,这只是一个概念证明:)
function funcA(){console.log('funcA');}
function funcB(){console.log('funcB');}
function funcC(){console.log('funcC');}
function funcD(){console.log('funcD');}
var functionList = [];
function oncheckBoxClick(cBox){
var funName = cBox.dataset.fname;
if(cBox.checked){
functionList.push(funName);
}
else{
var index = functionList.indexOf(funName);
if (index > -1) {
functionList.splice(index, 1);
}
}
if(functionList.length>=2){
var randomIndex = Math.floor(Math.random() * functionList.length);
this[functionList[randomIndex]]();
}
}
<input type="checkbox" onclick="oncheckBoxClick(this)" data-fname="funcA" />
<input type="checkbox" onclick="oncheckBoxClick(this)" data-fname="funcB" />
<input type="checkbox" onclick="oncheckBoxClick(this)" data-fname="funcC" />
<input type="checkbox" onclick="oncheckBoxClick(this)" data-fname="funcD" />
关于javascript - 4 个复选框,如果选中 2 个或更多复选框,我想随机触发与其中一个复选框关联的 1 个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41215145/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!