查看页面获取到两个span框里的值,另一个span的值为两个数之差,我这么写
$("#span1").html()=paresInt($("#span2").html())-paresInt($("#span3").html())取到的值为NHN这是为什么
请你贴出你的html代码,最终呈现的html代码部分,还有你要注意你的js代码执行时间,是否是在span被赋值以后执行的。如果你的span是在ajax里赋值的,需要在ajax回调里处理整个。或者ajax不使用异步方式。
我的代码
<body>
<input type="hidden" id="UIID" value="@ViewData["UIID"]" />
<input type="hidden" id="DID" value="@ViewData["DID"]" />
<div id="PageContent">
<form id="Content">
<div class="row-fluid" style=" margin-bottom: 10px">
<button type="button" class="btn btngrou" id="Back" onclick="GoBack()">
<i class="icon-reply"></i>返 回</button>
</div>
<div>
<table class="table table-condensed table-bordered" >
@*<tr>
<td style="width:20%;text-align:right">日报日期:</td>
<td>
<span id="RBTime"></span>
</td>
<td style="width:20%;text-align:right">单位:</td>
<td>
<span id="BMDID"></span>
</td>
</tr>*@
<tr>
<td style="width:20%;text-align:right">调入卡:</td>
<td>
<span id="DiaoRuKa"></span>
</td>
<td style="width:20%;text-align:right">调出卡:</td>
<td>
<span id="DiaoChuKa"></span>
</td>
</tr>
<tr>
<td class="bgT">发出数:</td>
<td>
<span id="FaChuShu"></span>
</td>
<td class="bgT">回收数:</td>
<td>
<span id="HuiShouShu"></span>
</td>
</tr>
<tr>
<td class="bgT">差异数:</td>
<td>
<span id="ChaYiShu"></span>
</td>
<td class="bgT">丢失数:</td>
<td>
<span id="DiuShiShu"></span>
</td>
</tr>
<tr>
<td class="bgT">损坏卡:</td>
<td>
<span id="SunHuaiKa"></span>
</td>
<td class="bgT">无卡数:</td>
<td>
<span id="WuKaShu"></span>
</td>
</tr>
<tr>
<td class="bgT">卡恢复数:</td>
<td>
<span id="KaHuiFuShu"></span>
</td>
<td class="bgT">库存维护数:</td>
<td>
<span id="KuCunWeiHuShu"></span>
</td>
</tr>
<tr>
<td class="bgT">库存量:</td>
<td>
<span id="KuCunLiang"></span>
</td>
<td class="bgT">正常卡:</td>
<td>
<span id="ZhengChangKa"></span>
</td>
</tr>
<tr>
<td class="bgT">上交坏卡:</td>
<td>
<span id="ShangJiaoHuaiKa"></span>
</td>
<td class="bgT">库存坏卡:</td>
<td>
<span id="KuCunHuaiKa"></span>
</td>
</tr>
</table>
</div>
</form>
</div>
<script src="~/Scripts/jquery-1.8.3.min.js"></script>
<link href="~/Quote/jquery.bootgrid-1.3.1/jquery.bootgrid.css" rel="stylesheet" />
<script src="~/Quote/jquery.bootgrid-1.3.1/jquery.bootgrid.js"></script>
<script src="~/Quote/artDialog/artDialog/artDialog.js"></script>
<script src="~/Quote/artDialog/artDialog/plugins/iframeTools.js"></script>
<link href="~/Quote/media/css/datepicker.css" rel="stylesheet" />
<script src="~/Quote/media/js/bootstrap-datepicker.js"></script>
<script src="~/Scripts/PageJson.js"></script>
<script type="text/javascript">
$(function () {
GetData();
chayi();
})
//获取数据
function GetData() {
$.ajax({
url: "/Base/DataSel",
type: "post",
data: {
UIID: $("#UIID").val(),
CZID: "ChaKan",
Data: "[{'DID':'" + $("#DID").val() + "'}]"
},
success: function (msg) {
try {
var json = eval(msg);
$("#Content").bindChaKanForm(json[0]);
} catch (e) {
art.dialog.tips(msg);
}
}
})
}
//获取差异
function chayi() {
$("#ChaYiShu").html(parseInt($("#HuiShouShu").html()) - parseInt($("#FaChuShu").html()));
}
//返回
function GoBack() {
window.location.href = "/ICInformation/ICDailyList?UIID=" + $("#UIID").val();
}
</script>
</body>
运行结果:调入卡:24调出卡:44发出数:24回收数:4差异数:NaN丢失数:44损坏卡:22无卡数:4卡恢复数:2库存维护数:4库存量:3正常卡:5上交坏卡:3库存坏卡:5
好了,真的是因为异步问题,谢谢了
@cai先sen是什么: 解决就好,span里你要获取文本,最好还是用text(),而不是html()
@心雨纷扬: 好的,谢谢,笑脸
$("#span1").html(paresInt($("#span2").html())-paresInt($("#span3").html()))
还是NaN
$("#span3").html(parseInt($("#span1").html())-parseInt($("#span2").html()))
楼上正解,不过是parseInt不是paresInt,楼主代码也是
NHN..應該是NAN吧..
span取值建議用
$(...).text().trim()
賦值一樣
$(...).text(parseInt($(...).text().trim()) - parseInt($(...).text().trim()))
还是NaN
@cai先sen是什么:
執行
console.log($(...).text().trim())
看看取值結果
@RosonJ: 我把一个已经取到值得span,按这个方法打印出来就是NaN
$("#span1").text(parseInt($("#span2").text())-parseInt($("#span3").text()))
你试试这样写看看,我看你把parseInt写成了paresInt应该不是计算错误而是运行时就出现错误了吧
我是打错了,我代码上写的是parseInt,但是还是不行,谢谢了
@cai先sen是什么: 后面我写的这个能行吗,另外span2和span3下不能有嵌套的内容,否则通过text()方法会取到子级的内容导致转换成数字时失败,会得出NaN的结果