繁体   English   中英

复选框不起作用

[英]Checkbox doesn't work

我有一个带有javascript复选框的简单代码。 您可以在此网站上看到前端:
englishforyou.ir
当您选中复选框时,总价应显示新数字,但不显示。
我所有的代码都在一页中:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<div>
<div>    

 <?php
$title= "pen" ;
$penprice= 7 ;

?>
<form id="formpayment"  action="<?php echo  $urlname?>"  method="post"  > 
<p style="color:blue; font:11px">
 <input type="checkbox" id="check"  name="kol" />Please add the eraser (Add 5$)
 <br>
 </p>
  <table border="0" >
  <tr>
  <td><?php echo $title; ?>
  </td>
  <td ><input style="width: 60px; padding: 2px; border: 0px "  class="txt"  type="text" name="priceofpen" id="priceofpen" value="<?php echo $penprice ;?>   
  " readonly/>&nbsp$ 
  </td>
  <td>
  </td>
  </TR>
 <tr>
  <td><?php echo "Eraser price"; ?>   
  </td>
  <td  >  <input style="width: 50px; padding: 2px; border: 0px "  name="priceoferaser" class="txt" id="priceoferaser" value="0"  readonly="readonly" />  &nbsp; &nbsp;$
  </td>
  <td> 
  </td>
  </TR> 
  <tr>
  <td colspan="3"> <hr />    
  </td>
    </TR>
  <tr id="summation">
  <td>  Total:
  </td>
  <td>
  <input  style="width: 60px; padding: 2px; border: 0px " type=number name="total" id="total" value="<?php echo $penprice;?>"  readonly="readonly">$
  </td>
  <td>
  </td>
  </TR>
   </table>
    </p><br />
 </form>
  </div>
 </div>
 <script>
 $('#check').on('change',function(){
     var eraserprice = "5"

     var c=parseFloat(eraserprice)+ parseFloat(<?php echo $penprice;?>);
    if(this.checked)
     $('#total').val(    c     )&& $('#priceoferaser').val(   parseFloat(5000)    )  ) 

    else

        $('#total').val( <?php echo $penprice;?>)&& $('#priceoferaser').val(   parseFloat(0)    )

})
 </script>
</div>
</body>
</html>

您必须删除.val(parseFloat(5000))之后的最后一个“)”

<script>
 $('#check').on('change',function(){
 var eraserprice = "5"

 var c=parseFloat(eraserprice)+ parseFloat(7);
if($(this).is(':checked'))
 $('#total').val(    c     )&& $('#priceoferaser').val(   parseFloat(5000)    )  

else

    $('#total').val( 7)&& $('#priceoferaser').val(   parseFloat(0)    )

})
 </script>

您应该在发现错误之前验证html和js:

SyntaxError: missing ; before statement -> englishforyou.ir:57:85

您可能应该包括jQuery库。

删除了on并在该if语句之间添加代码。

$('youElemnt').change(function() {
    if ($(this).is(':checked')) {
         // Your code here. 
    }
});

编辑1

检查控制台是否有任何错误,然后更新您的帖子。

您正在使用jQuery函数,而不是Javascript。 编写干净的Javascript或包含jQuery库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM