根据单选按钮的总和,使用javascripting和DOM脚本隐藏div
下午好, 我想(正如标题所说)根据单选按钮值的总和隐藏我的div标记。我不能只使用查询DOM脚本 代码很长,所以我希望你能帮助我。 非常感谢根据单选按钮的总和,使用javascripting和DOM脚本隐藏div,javascript,function,radio-button,hide,Javascript,Function,Radio Button,Hide,下午好, 我想(正如标题所说)根据单选按钮值的总和隐藏我的div标记。我不能只使用查询DOM脚本 代码很长,所以我希望你能帮助我。 非常感谢 函数checkRadio(){ var selectedAge=“”; var selectedBmi=“”; var selectedDiabete=“”; var description=“”; var len=document.row.length; var i; 函数init(){ 对于(i=0;i请在提交问题之前测试代码。如果测试代码,您可
函数checkRadio(){
var selectedAge=“”;
var selectedBmi=“”;
var selectedDiabete=“”;
var description=“”;
var len=document.row.length;
var i;
函数init(){
对于(i=0;i请在提交问题之前测试代码。如果测试代码,您可以在控制台中清楚地看到错误
Uncaught SyntaxError: Unexpected token )
你有几个问题
(一)
缺少一个IF和(.a)应该是:
} else if (ansD.value>25){
for(var i=0;i<allDiv;i++){
currentDiv=myDiv[i];
}
(三)
此外,对于以下各项,此项未关闭:
for(var i=0;i<allDiv;i++){
currentDiv=myDiv[i];
干杯
编辑:
重写代码会更容易。在这里,使用此函数而不是submit上的addNumber,并会丢失addNumber。如果在加载页面后立即删除样式显示,应该会更好。研究此函数以了解其工作原理
<script>
function showResult(){
var val1 = parseInt(document.querySelector('input[name = "selectedAge"]:checked').value);
var val2 = parseInt(document.querySelector('input[name = "selectedBmi"]:checked').value);
var val3 = parseInt(document.querySelector('input[name = "selectedDiabete"]:checked').value);
var val4 = parseInt(document.querySelector('input[name = "description"]:checked').value);
var result = val1 + val2 + val3 + val4;
var ansD = document.getElementById("answer");
ansD.value = result;
var divLow = document.getElementById("lowResult");
var divMedium = document.getElementById("mediumResult");
var divHigh = document.getElementById("highRisk");
divLow.style.display = 'none';
divMedium.style.display = 'none';
divHigh.style.display = 'none';
if (result < 15){
divLow.style.display = 'block';
} else if (result < 25){
divMedium.style.display = 'block';
} else {
divHigh.style.display = 'block';
}
console.log(result);
}
</script>
函数showResult(){
var val1=parseInt(document.querySelector('input[name=“selectedAge”]:checked')。值);
var val2=parseInt(document.querySelector('input[name=“selectedBmi”]:checked')。值);
var val3=parseInt(document.querySelector('input[name=“selectedDiabete”]:checked')。值);
var val4=parseInt(document.querySelector('input[name=“description”]:checked')。值);
var结果=val1+val2+val3+val4;
var ansD=document.getElementById(“答案”);
ansD.值=结果;
var divLow=document.getElementById(“lowResult”);
var divmedia=document.getElementById(“mediumResult”);
var divHigh=document.getElementById(“高风险”);
divLow.style.display='none';
divMedium.style.display='none';
divHigh.style.display='none';
如果(结果<15){
divLow.style.display='block';
}否则,如果(结果<25){
divMedium.style.display='block';
}否则{
divHigh.style.display='block';
}
控制台日志(结果);
}
我删除了所有未使用的代码,只留下addNumbers函数。我还删除了每个按钮上的事件-没有这样的函数
我总结了所有选中的单选按钮,所以如果页面上有其他按钮,您可能需要更具体的选择器
函数addNumbers(){
var selectedRadios=document.querySelectorAll('input[type=“radio”]:checked');
var总和=0;
对于(变量i=0;i
。结果{
显示:无;
}
诺里斯
低风险
中等风险
高风险
你多大了?
1-25
26-40
41-60
1-25
你的体重指数是多少?
0-25
26-30
31-35
35+
你家里有人患有糖尿病吗?
不
祖父母
兄弟姐妹
父母亲
你如何描述你的糖尿病
低糖
正常糖
糖分很高
高糖
总数=
您的结果:
你的研究结果表明你目前患糖尿病的风险很低。但是,在饮食和锻炼方面保持健康的生活方式是很重要的。
您的结果显示您目前患糖尿病的风险中等。有关您的风险因素的更多信息,以及如何应对这些风险因素,请访问我们的糖尿病咨询网站。
您的结果表明,您目前患糖尿病的风险很高。[您的主要风险因素是您的BMI和饮食。]我们建议您尽快联系卫生部门讨论您的风险因素。请填写我们的
联系表和卫生局糖尿病小组的一名成员将与您联系。
问题是所有div都出现在页面上,我想根据“提交”按钮返回的总数来隐藏它们。例如,如果总数小于15,我只想在html页面上显示低风险div。您说过,但这里的实际问题是什么。您得到了什么样的输出,到目前为止代码的结果是什么。什么时候我运行代码所有div标记都显示无隐藏找不到您的var div数组,您的for队列已断开。for(var i=0;iSorry我是javascript新手谢谢你的建议,但它不起作用。我在css中为div标记设置了属性display为none。因此,即使有代码,我的html中现在也没有显示任何内容。请参见编辑后的答案。你有了这个函数。你把问题复杂化了。
} else if (ansD.value>25){
for(var i=0;i<allDiv;i++){
currentDiv=myDiv[i];
for(var i=0;i<allDiv;i++){
currentDiv=myDiv[i];
}
Uncaught ReferenceError: addNumber is not definedonclick @ test.html:100
<script>
function showResult(){
var val1 = parseInt(document.querySelector('input[name = "selectedAge"]:checked').value);
var val2 = parseInt(document.querySelector('input[name = "selectedBmi"]:checked').value);
var val3 = parseInt(document.querySelector('input[name = "selectedDiabete"]:checked').value);
var val4 = parseInt(document.querySelector('input[name = "description"]:checked').value);
var result = val1 + val2 + val3 + val4;
var ansD = document.getElementById("answer");
ansD.value = result;
var divLow = document.getElementById("lowResult");
var divMedium = document.getElementById("mediumResult");
var divHigh = document.getElementById("highRisk");
divLow.style.display = 'none';
divMedium.style.display = 'none';
divHigh.style.display = 'none';
if (result < 15){
divLow.style.display = 'block';
} else if (result < 25){
divMedium.style.display = 'block';
} else {
divHigh.style.display = 'block';
}
console.log(result);
}
</script>