我有一个表,如果选中了一个复选框,其中一个td得1,我想将这个td与另一个复用,并将其显示在第三个。
请参阅此处的html:
<div>
<input type="checkbox" id="fut1">check</input>
</div>
<table border="1" cellpadding="10" id="countit">
<tr>
<td id="td1"></td>
<td id="td2">5000</td>
<td id="td3"></td>
</tr>
</table>
这是js:
$('#fut1').change(function () {
if ($(this).is(":checked")) {
$('#td1').text('1');
} else {
$('#td1').text('0');
}
});
$('#td1').change(function () {
var me = $('#td1').value;
var ar = $('#td2').value;
var sum = me * ar;
$('#td3').text(sum);
});
答案 0 :(得分:0)
#td1
不支持change
事件,因为这仅适用于互动元素(例如input
,select
或textarea
)。< / p>
您可以在#fut1
中的第一个事件监听器中进行计算,也可以在input
内声明#td1
元素。
答案 1 :(得分:0)
$('#td1').change(function () { // <--- td elements don't have a change event listener/handler
var me = $('#td1').value; // <--- td elements don't have a value
var ar = $('#td2').value; // <--- td elements don't have a value
var sum = me * ar;
$('#td3').text(sum);
});
如果你想这样做:
$('#fut1').change(function () {
if ($(this).is(":checked")) {
$('#td1').text('1');
} else {
$('#td1').text('0');
}
callTdChange();
});
function callTdChange() {
var me = parseInt($('#td1').text());
var ar = parseInt($('#td2').text());
var sum = me * ar;
$('#td3').text(sum);
}
当然,更好的方法是在您希望将数据保存到服务器或使用更改行为的情况下使用表单元素(输入)。