10/10/2018, 10:53

Help me ... về javascript

các cao thủ php giúp em vấn đề này với, em bí mấy hom nay rồi,em mới tập code php ,em hơi yếu javascript nen làm chẳng ra.



Hinh1: là giao diện, nó có các checkbox, em muốn khi em check vào 1 checkbox của 1 record nào đó thì nó se lấy cái amount của checkbox ấy và tự động print vào cái tetbox ten là :Total Amount reply for dealer giống như hinh2 nè.


nếu em check vào bao nhieu record thì nó sẽ cộng dồn cái amount của tất cả những checkbox duoc check vào textbox, khi bỏ checkbox nào ra thì nó tự động trừ cái số amount của cái checkbox do ra khỏi cái Total Amount reply for dealer ở bên dưới.



Các cao thủ giúp em vấn đề này nhé.em rất cảm ơn,nếu ai ở HCM thì em sẽ trả 1 chầu cafe.(cảm ơn chân thành đấy ạ )xin de lại số phone ,em se phone lại ạ.

Đây là code với database cấu hình sẵn. mong các bạn giúp đỡ.

http://www.mediafire.com/file/3mq4nn01qdykel1/help.zip

<form name="myform" method="post">
<p>&nbsp;</p>
<div id="itsthetable" style=" padding:0px 0px 0px 1px;">
<table width="819">
<thead>
<tr>
<th width="42" align="center" scope="col"><input type="checkbox" name="Check_ctr" value="yes" onClick="Check(document.myform.check_list)"></th>
<th width="161" align="center" scope="col">Date</th>
<th width="125" align="center" scope="col">From</th>
<th width="126" align="center" scope="col">To</th>
<th width="97" align="center" scope="col">Confirm Number</th>
<th width="130" align="center" scope="col">status</th>
<th width="106" align="center" scope="col">Amount</th>

</tr>
</thead>
<?php
$i = 1;
///AND datediff(now( ),trans_date) <= '1'
$sql = "Select *,DATE_FORMAT(trans_date, '%M %d , %Y ') as start_date from op_transactions Where agent_id = 'S3VPZNFAS1' AND need_delivery ='1' AND status_id= '5' Order by id DESC ";
$res = mysql_query($sql);
$num = mysql_num_rows($res);
if($num>0)
{
while($row = mysql_fetch_array($res)){

$idx =$row['id'];
$status_id =$row['status_id'];
$log_id =$row['log_id'];
$amount =$row['amount'];
$from_cust_id =$row['from_cust_id'];
$to_cust_id =$row['to_cust_id'];
$fee =$row['fee'];
$delivery_confirm_num =$row['delivery_confirm_num'];

?>
<tbody>
<tr class="<? echo $bg;?>"style=" text-align:center;font-family:arial;font-size:11px;color:#666666 ;">
<th><input type="checkbox" name="check_list" value="<? echo $amount ?>"></th>
<th style="padding-top: 15px "><?php echo $row['start_date']; ?></th>
<td style="padding-top: 15px "><?php echo $from_cust_id ; ?></td>
<td style="padding-top: 15px "><?php echo $to_cust_id ; ?></td>
<td style="padding-top: 12px "><?php echo $delivery_confirm_num ; ?></td>
<td style="padding-top: 15px "><?php echo $status_id ; ?></td><td style="padding-top: 15px "><?php echo number_format($amount_detail,2,null,"") ; ?></td>
</tr>
</tbody>
<?
$i++;}
?>
<tfoot>
<tr style="border-top:1px solid #E2E2E2 ">

<th scope="row"colspan="5" style=" padding: 8px 4px 4px 8px; ">&nbsp;</th>
<td style=" padding: 8px 4px 4px 8px;text-align:center ">TOTAL</td>
<td style=" padding: 8px 4px 4px 8px;text-align:center ">$2033.00</td>
</tr>
</tfoot>
<?
}else {
?>
<tr class="<? echo $bg;?>"style=" text-align:center;font-family:arial;font-size:11px;color:#666666 ;">
<td colspan="7" style=" color:#FF0000 " ><strong>No rusult !</strong></td>
</tr>
<?
} ?>
</table>
<p>&nbsp;</p>
</div>
<div style=" padding-bottom:12px;color:#ff9f53 "><strong>Reply Amount for dealer <? echo $company_dealer;?></strong></div>
<div style=" width:820px; border-top:1px solid #E2E2E2;padding-top:13px"></div>
<div style=" line-height:24px ">
<label><input type="text" name="txtcode" id="txtcode" value="" > &nbsp; <strong>Enter Code</strong></label><br>
<label><input type="text" name="txtamountreply" id="txtamountreply" value="" > &nbsp; <strong>Total Amount reply for dealer</strong></label></div>

</form>

Nếu có gữi nhầm chỗ xin admin di chuyển về nơi đúng chỗ giùm em, em là thành viên mới nên chưa hiểu rõ nội qui post bài.
satthudatinh011 viết 12:53 ngày 10/10/2018
ko biết sao chứ cái này sao mà dùng JS đc nhỉ
tính toán dữ liệu động thế này phải kêu server tính chứ
dùng ajax là hợp lý
cun_nau viết 12:55 ngày 10/10/2018
em ko biết sữ lý thế nào, dùng js hay ajax đây. giúp em voi huhuhu.
rối tung lên mất rồi,hic hic
thienha20 viết 12:54 ngày 10/10/2018
thêm 1 tab span hoặc thêm cai td chứa mỗi cái amount có cái id. Mỗi cái check box thêm vào hàm onclick cộng amount id của thằng check bõ sẽ liên quan với thằng tb hay span qua con số thứ tự dòng chẳng hạn.
Goi cai tên text tông là 'tongamount' cho nó giá trị bằng 0 ban đầu nhé
Hàm onclick cho check box có dạng sau
<input type='checkbox' id='0' onclick='add(this)'/>//check box tại dòng 0
.......id='1'......................//check box tại dòng 1
<td id='cot0'>gia tri amount ở dòng 0</td>
...........1........................1
....
function add(el)
{
var d=document.getElementById('tongamount');
var td=document.getElementById('cot'+el.id);//cot chua amount co ten cot0 tuong ung voi so 0 cua checkbox
if(el.checked==true)
{
d.value+=parseFLoat(td.innerHTML);//nếu check thì cộng thêm vào
}
else
{
d.value-=parseFLoat(td.innerHTML);//nếu không check thì trừ ra
}
}


Hướng dẫn thế thôi tiếp thu được bao nhiêu thì là do bạn đấy
cun_nau viết 13:03 ngày 10/10/2018
Được gửi bởi thienha20
thêm 1 tab span hoặc thêm cai td chứa mỗi cái amount có cái id. Mỗi cái check box thêm vào hàm onclick cộng amount id của thằng check bõ sẽ liên quan với thằng tb hay span qua con số thứ tự dòng chẳng hạn.
Goi cai tên text tông là 'tongamount' cho nó giá trị bằng 0 ban đầu nhé
Hàm onclick cho check box có dạng sau
<input type='checkbox' id='0' onclick='add(this)'/>//check box tại dòng 0
.......id='1'......................//check box tại dòng 1
<td id='cot0'>gia tri amount ở dòng 0</td>
...........1........................1
....
function add(el)
{
var d=document.getElementById('tongamount');
var td=document.getElementById('cot'+el.id);//cot chua amount co ten cot0 tuong ung voi so 0 cua checkbox
if(el.checked==true)
{
d.value+=parseFLoat(tb.innerHTML);//nếu check thì cộng thêm vào
}
else
{
d.value-=parseFLoat(tb.innerHTML);//nếu không check thì trừ ra
}
}


Hướng dẫn thế thôi tiếp thu được bao nhiêu thì là do bạn đấy
Bạn ơi, tớ làm tới bước là khi check vào 1 check bõ thì nó dua ra cot1100.00,check box 2 thì se dua ra là cot2200.00 .....

nhung to ko hieu cái "el" dong vai trò gì ở day, và nó chỉ hoat dong tới cau alert thôi còn ben duoi thì ko work.lam ơn giúp tớ thêm chut xiu nua ,hic, tớ làm vẫn chua ổn.

function add(el)
{

var d=document.getElementById('tongamount');

alert ('cot'+el.id);

var td=document.getElementById('cot'+el.id);//cot chua amount co ten cot0 tuong ung voi so 0 cua checkbox
if(el.checked==true)
{
d.value+=parseFLoat(td.innerHTML);

//nếu check thì cộng thêm vào
}
else
{
d.value-=parseFLoat(td.innerHTML);//nếu không check thì trừ ra
}
}


---------------------form to moi sua lai , ko biet co dung ko ---
<form name="myform" method="post">
<p>&nbsp;</p>
<div id="itsthetable" style=" padding:0px 0px 0px 1px;">
<table width="819">
<thead>
<tr>
<th width="42" align="center" scope="col"><input type="checkbox" name="Check_ctr" value="yes" onClick="Check(document.myform.check_list)"></th>
<th width="161" align="center" scope="col">Date</th>
<th width="125" align="center" scope="col">From</th>
<th width="126" align="center" scope="col">To</th>
<th width="97" align="center" scope="col">Confirm Number</th>
<th width="130" align="center" scope="col">status</th>
<th width="106" align="center" scope="col">Amount</th>

</tr>
</thead>
<?php
$i = 1;
///AND datediff(now( ),trans_date) <= '1'
$sql = "Select *,DATE_FORMAT(trans_date, '%M %d , %Y ') as start_date from op_transactions Where agent_id = 'S3VPZNFAS1' AND need_delivery ='1' AND status_id= '5' Order by id DESC ";
$res = mysql_query($sql);
$num = mysql_num_rows($res);
if($num>0)
{
while($row = mysql_fetch_array($res)){

$idx =$row['id'];
$status_id =$row['status_id'];
$log_id =$row['log_id'];
$amount =$row['amount'];
$from_cust_id =$row['from_cust_id'];
$to_cust_id =$row['to_cust_id'];
$fee =$row['fee'];
$delivery_confirm_num =$row['delivery_confirm_num'];

$amount_detail = $amount;
$bg ='';
if($i%2){
$bg = "odd";
}

?>
<tbody>
<tr class="<? echo $bg;?>"style=" text-align:center;font-family:arial;font-size:11px;color:#666666 ;">
<td id="cot"><input type='checkbox' id='<? echo $i.$amount;?>' onclick='add(this)'/></td>
<td style="padding-top: 15px "><?php echo $row['start_date']; ?></td>
<td style="padding-top: 15px "><?php echo $from_cust_id ; ?></td>
<td style="padding-top: 15px "><?php echo $to_cust_id ; ?></td>
<td style="padding-top: 12px "><?php echo $delivery_confirm_num ; ?></td>
<td style="padding-top: 15px "><?php echo $status_id ; ?></td>
<td style="padding-top: 15px "><?php echo number_format($amount_detail,2,null,"") ; ?></td>

</tr>
</tbody>
<?
$i++;}
?>
<tfoot>
<tr style="border-top:1px solid #E2E2E2 ">

<th scope="row"colspan="5" style=" padding: 8px 4px 4px 8px; ">&nbsp;</th>
<td style=" padding: 8px 4px 4px 8px;text-align:center ">TOTAL</td>
<td style=" padding: 8px 4px 4px 8px;text-align:center ">$2033.00</td>
</tr>
</tfoot>
<?
}else {
?>
<tr class="<? echo $bg;?>"style=" text-align:center;font-family:arial;font-size:11px;color:#666666 ;">
<td colspan="7" style=" color:#FF0000 " ><strong>No rusult !</strong></td>
</tr>
<?
}
?>
</table>
<p>&nbsp;</p>
</div>
<div style=" padding-bottom:12px;color:#ff9f53 "><strong>Reply Amount for dealer <? echo $company_dealer;?></strong></div>
<div style=" width:820px; border-top:1px solid #E2E2E2;padding-top:13px"></div>
<div style=" line-height:24px ">
<table width="100" border="1">
<tr>
<td id="tongamount"></td>
</tr>
</table>
</div>

<p>&nbsp;</p>
</form>

[=========> Bổ sung bài viết <=========]

ai đó chỉ giúp em chỗ em sai với, khẩn cấp lắm ạ.

[=========> Bổ sung bài viết <=========]

theo anh Thienha20 thì code sẽ như thế này, nhung no ko work gi cả, em ko biet mình co sai gi ko. neu thấy em sai thì chỉ giúp nhé.

<SCRIPT LANGUAGE="JavaScript">
<!--
<!-- Begin
function add(el)
{
var d=document.getElementById('tongamount');

var td=document.getElementById('cot'+el.id);//cot chua amount co ten cot0 tuong ung voi so 0 cua checkbox
if(el.checked==true)
{

d.value+=parseFLoat(td.innerHTML);//nếu check thì cộng thêm vào

}
else
{
d.value-=parseFLoat(td.innerHTML);//nếu không check thì trừ ra
}
}
// End -->
</script>

<table width="400" border="1">
<tr>
<td>check</td>
<td>Amount</td>
</tr>
<tr>
<td><input type='checkbox' id='0' onclick='add(this)'/></td>
<td id='cot0'>100</td>
</tr>
<tr>
<td><input type='checkbox' id='1' onclick='add(this)'/></td>
<td id='cot1'>100</td>
</tr>
<tr>
<td><input type='checkbox' id='2' onclick='add(this)'/></td>
<td id='cot2'>100</td>
</tr>
<tr>
<td colspan="2" id="tongamount">0</td>
</tr>

</table>
Bài liên quan
0