首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NaN获取javascript值

问使用NaN获取javascript值
EN

Stack Overflow用户
提问于 2013-07-05 07:27:56
回答 1查看 1.2K关注 0票数 0

我正在努力完成一个在线报价表单的开发。我正在尝试根据复选框是否被勾选来更改价格。

行为应该是:在初始页面加载时-勾选复选框时的标准价格(来自mysql - variable) - ad $20 (来自mysql)到复选框未勾选时的价格-回到标准变量价格

我目前的行为是:在初始页面加载时-勾选复选框时的标准(来自mysql -变量)价格- $20 (来自mysql),但不会在复选框未勾选时添加到原始价格- NaN

我可以确认价格是以整数形式存储在mysql中的,例如292,任何帮助都将不胜感激。

下面的代码: html页面中的php

代码语言:javascript
复制
<?php 
$table = $_GET['bintype'];
$pcode = $_GET['tags'];
include 'connect.php';
$result=mysqli_query($con,"SELECT * FROM $table WHERE short='$pcode'");
$row_cnt = mysqli_num_rows($result);
if($row_cnt == 0)
{
        PRINT "<p align='middle'>No go</p>"; 
 }
else
while($row=mysqli_fetch_array($result))
  {
  $b = number_format($row['barrow'], 2) AND "<div id='barrowid'>"; 
  $c = number_format($row['2m3 General'], 2) AND "<div id='total_price'>";
  $d = $row['2m3 General'] AND "<div id='total_number'>";

  echo "<form id='checkboxval'><input type='checkbox' id='checkit' name='menu1'
  value=".$b.">
  </input> <div id='total'>Total:$".$d."</div>
  </form>";
  }
mysqli_close($con);
?>

javascript

代码语言:javascript
复制
var checkbox = document.getElementById("checkit");

checkbox.onclick = function () {
    var subtotalField = document.getElementById("total_price");
    var checkboxes = document.forms["checkboxval"].getElementsByTagName("input");
    var subtotal = document.getElementById("total_price");
    var total = document.getElementById("total_price");

 for (var i = 0, length = checkboxes.length; i < length; i++) {
    if (checkboxes[i].checked) {
        var newSubtotal = parseInt(subtotal.innerHTML) + parseInt(checkboxes[i].value);
        subtotal.innerHTML = newSubtotal; 
    }
}

    total = (parseFloat(subtotal));

    document.getElementById("total").innerHTML = "Total:$" + total;
};
EN

回答 1

Stack Overflow用户

发布于 2013-07-05 07:57:39

您的变量subtotal和total都是DOM元素-您需要在进行运算之前从它们中提取值。

代码语言:javascript
复制
for (var i = 0, length = checkboxes.length; i < length; i++) {
    if (checkboxes[i].checked) {
        var newSubtotal = parseInt(subtotal.innerHTML) + parseInt(checkboxes[i].value);
        subtotal.innerHTML = newSubtotal; 
    }
}

你的代码有点混乱。看一看它,删除冗余和重复的代码。另外,请检查以下内容:document.getElementById("$total_number");。其中是带有id = "$total_number"的元素

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17479228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档