2017-03-14 43 views
-2

这是HTML:什么是错,此代码它没有显示在div

<div class="form-group col-sm-12" id="myDiv" align="right"> 
    <input class="coupon_question" id="theControl" name="cadre_number" type="checkbox" onchange="valueChanged()" value="0" > change</input> 
</div> 

<div class="form-group col-sm-12" id="endDiv" style="display:none" align="right"> 
    <span><label class="radio" id="end1">date</label></span> 
    <input class = "radio" value="2016-10-10" checked="" type="date"> 
    <span><label class="radio" id = "end3">case</label></span> 
    <input class = "radio" type="text"> 
</div> 

这是Java脚本: -

function valueChanged(){ 
    if($('.coupon_question').is(":checked")){ 
     document.getElementById("endDiv").style.display = 'block'; 
    } 

    else{ 
     document.getElementById("endDiv").style.display = 'none'; 
    } 
} 

问题是,当我选中该复选框, div'endDiv'没有任何反应!

+0

我已经更新 – Amado

+0

@Amado什么是你所面对错误的问题?另外,你的'label'和'div'在'input'元素后面没有任何开始标签的情况下关闭。 – Ayush

+0

您的代码正在为我工​​作。查看小提琴https://jsfiddle.net/xhLmk1ou/2/ – Ayush

回答

0

我想你没有添加任何jquery.js使用jquery方法。因为当我将jquery.js添加到我的html时它工作正常。

希望这是有帮助的。

0

如果您使用的是jQuery,您的代码正在工作,但存在一些错误,如labeldiv在没有开始标记的情况下关闭。

我想你想做到这一点:

<input type="checkbox" id="theControl" class="coupon_question" name="cadre_number" onchange="valueChanged()" value="0"> 
<div class="form-group col-sm-12" id="endDiv" style="display:none" align="right"> 
    <label class="radio" for="end1">تاريخ الإنهاء </label> 
    <input type="date" id="end1" class="radio" value="2016-10-10"> 
    <label class="radio" for="end3">سبب الإنهاء</label> 
    <input type="text" id="end3" class="radio"> 
</div> 

如果你不使用jQuery,通过这个改变你的JavaScript if条件:

function valueChanged(){ 
    if(document.querySelector('#theControl').checked){ 
     document.querySelector("#endDiv").style.display = 'block'; 
    } 
    else{ 
     document.querySelector("#endDiv").style.display = 'none'; 
    } 
} 
0
<input type="checkbox" onclick="onClickHandler()" id="theControl" /> 

<script> 
function onClickHandler(){ 
    if($('.coupon_question').is(":checked")){ 
      $("#endDiv").show(); 
    } 

    else{ 
      $("#endDiv").hide(); 
    } 

} 
</script> 
+1

虽然此代码可能会回答问题,但提供有关为何和/或代码如何回答此问题的其他上下文会提高其长期价值。 –

0

的代码工作正常! !我想你还没有添加jQuery库!

function valueChanged(){ 
 
     if($('.coupon_question').is(":checked")){ 
 
      document.getElementById("endDiv").style.display = 'block'; 
 
     } 
 

 
     else{ 
 
      document.getElementById("endDiv").style.display = 'none'; 
 
     } 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="form-group col-sm-12" id="myDiv" align="right"> 
 
            <input class="coupon_question" id="theControl" name="cadre_number" type="checkbox" onchange="valueChanged()" value="0"/ > change 
 
            </div> 
 

 
            <div class="form-group col-sm-12" id="endDiv" style="display:none" align="right"> 
 
              <span><label class="radio" id="end1">date</label></span> 
 
              <input class = "radio" value="2016-10-10" checked="" type="date"> 
 

 
              <span><label class="radio" id = "end3">case</label></span> 
 
              <input class = "radio" type="text"> 
 
            </div>

0
<!DOCTYPE html> 
<html lang="en"> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
$('#theControl').change(function(){ 
     if(this.checked) 
      $('#myDiv').show(); 
     else 
      $('#endDiv').hide(); 
    }); 
}); 
</script> 
</head> 
<body> 
<div class="form-group col-sm-12" id="myDiv" align="right"> 
    <input class="coupon_question" id="theControl" name="cadre_number" type="checkbox" onchange="valueChanged()" value="0" > change</input> 
</div> 

<div class="form-group col-sm-12" id="endDiv" style="display:none" align="right"> 
    <span><label class="radio" id="end1">date</label></span> 
    <input class = "radio" value="2016-10-10" checked="" type="date"> 
    <span><label class="radio" id = "end3">case</label></span> 
    <input class = "radio" type="text"> 
</div> 
</body> 
</html>