1
안녕하세요, 동적으로 양식을 추가하는 버튼을 클릭 할 때 사용자가 동적으로 외부 PHP 파일에서 테이블 행을 추가합니다. 숫자에 입력을하고 난 계산 기능을 만들었습니다하지만이 첫 번째 행에 대해서만 작업 그것의 합계를 계산해야 names'Qty은 '할 수있는가 여기 을 수행하는 방법에 누구의 도움 내 스크립트입니다jquery를 사용하여 동적으로 추가 된 테이블 행에 계산을 만드는 방법
$(document).ready(function(){
$('#detail').on('keyup', '.qty', calculateRow());
$('#addnew').click(function(){
var ctr = $('#items').val();
ctr++;
$.post('job_srch.php', {ctr : ctr}, function(data) {
$(data).appendTo('#detail');
$('#items').val(ctr);
});
});
function calculateSum() {
var sum = 0;
//iterate through each textboxes and add the values
$(".qty").each(function(){
//add only if the value is number
if (!isNaN(this.value) && this.value.length != 0) {
sum += parseFloat(this.value);
}
});
//.toFixed() method will roundoff the final sum to 2 decimal places
$("#total").val(sum.toFixed(2));
}
function calculateRow() {
$('.qty').keyup(function() {
//alert("entered");
var $row = $(this).closest("tr");
var qty = parseFloat($row.find('.qty').val());
calculateSum();
});
}
});
여기에 내 PHP는
session_start();
require("includes/dbconnect.php");
include ('includes/function.php');
$zdb = $_SESSION["zdbyear"];
mysql_select_db($zdb);
if ($_REQUEST["ctr"]){
$ctr = $_REQUEST["ctr"];
//echo '<link rel="stylesheet" href="css/chosen.css" />';
echo '<tr>
<td align="center"><input type="text" size="6" maxlength="6" maxlength="6" name="srno_'.$ctr.'" class="form-input-oth"/></td>
<td align="center"><select data-placeholder="Party" style="width:300px;" name="item_'.$ctr.'" class="chzn-select-deselect" >
<option value=""></option>';
$res = mysql_query("SELECT * FROM `items`") or die(mysql_error());
while ($row = mysql_fetch_array($res)) {
echo "<option value='$row[accode]'>$row[name]</option>";
}
echo '</select></td>';
echo '<td align="center"><input type="text" id="qty" size="6" maxlength="9" maxlength="6" name="qty_'.$ctr.'" class="qty form-input-amt"/></td>
</tr>';
}
else{
echo "ERROR";
}
여기 당신이 이것에 대한`.live`를 사용한다고 생각
<table id="detail" border="1px" width="80%">
<tr>
<td width="130px" align="center"><label for=""><font color="#0099FF" size="3px">Sr No.</font><span></span></label></td>
<td width="130px" align="center"><label for=""><font color="#0099FF" size="3px">item</font><span></span></label></td>
<td width="130px" align="center"><label for=""><font color="#0099FF" size="3px">Quantity</font><span></span></label></td>
</tr>
<tr>
<td align="center"><input type="text" size="6" maxlength="6" maxlength="6" name="ord_0" class="form-input-oth"/></td>
<td align="center"><select data-placeholder="Party" style="width:300px; text-align: left;" name="item_0" class="chzn-select-deselect" >
<option value=""></option>
<?php
$iqry = mysql_query("SELECT * FROM `items` ") or die(mysql_error());
while($trow= mysql_fetch_array($iqry)){
echo "<option value=$trow[accode]>$trow[name]</option>";
}
?>
</select></td>
<td align="center"><input id="qty" type="text" size="6" maxlength="9" maxlength="6" name="qty_0" class="qty form-input-amt" onkeyup="return calculateSum(); "/></td>
</tr>
<input type="button" id="addnew" class="classname" name="addnew" value="+" />
<input type="text" id="items" name="items" value=" 0" />
내 HTML입니다. – ncm
그래, 그게 효과가 있지만 내 첫 번째 질문을 도와 주실 수 있습니다. 자바 스크립트에서 만든 변수가 작동하지 않는 것 같아요 – user2274075
괜찮 았어. 무슨 '.qty'에 대한 키 입력을 할 때 calcRow 작업을했는지 문제가 무엇입니까? 각 행의 합계를 계산할 위치는 어디입니까? – ncm