Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据单选按钮的总和,使用javascripting和DOM脚本隐藏div_Javascript_Function_Radio Button_Hide - Fatal编程技术网

根据单选按钮的总和,使用javascripting和DOM脚本隐藏div

根据单选按钮的总和,使用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请在提交问题之前测试代码。如果测试代码,您可

下午好, 我想(正如标题所说)根据单选按钮值的总和隐藏我的div标记。我不能只使用查询DOM脚本 代码很长,所以我希望你能帮助我。 非常感谢


函数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>