동일한 행을 추가하려는 다른 셀의 값 차이를 계산하기 위해 행과 관련된 셀의 값을 얻고 싶습니다.
스 니펫은 내가 착지 한 모든 행과 해당 인스턴스에서 선택한 행의 동일한 행에서 데이터를 가져 오려는 의미를 보여줍니다. 그 외에는 코드와 관련이 없습니다.
$(document).ready(function() {
$('tbody tr').eq(0).find('td').eq(7).css('background-color', 'green');
$('tbody tr').eq(3).find('td').eq(7).css('background-color', 'green');
$('tbody tr').eq(4).find('td').eq(7).css('background-color', 'green');
});
table,
td {
border: 1px solid #000;
}
td {
width: 40px;
height: 40px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<table>
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</body>
이것은 셀에서 값을 얻는 내 jquery 코드입니다.
$(document).on('blur', '.price', function(){
var id = $(this).data("id1");
var price = $(this).text();
edit_data(id, price, "price");
});
이 문제를 해결하려고 시도했습니다.
$(document).on('blur', '.price', function(){
var id = $(this).data("id1");
var price = $(this).text();
edit_data(id, price, "price");
var id2 = $('.final_price').data("id2");
var final_price = $('.final_price').text();
var diff_total = final_price - price;
edit_data(id, diff_total, "diff");
});
위의 jquery 코드는 내가 가진 모든 셀의 모든 final_price 값의 문자열을 반환합니다.
이것은 테이블의 코드이지만 배열 인 것을 볼 수 있듯이 여러 셀을 반환하고 각 셀에는 자체 값이 있습니다.
<?php
$connect = mysqli_connect("localhost", "root", "", "test_db");
$output = '';
$sql = "SELECT * FROM tbl_sample ORDER BY id DESC";
$result = mysqli_query($connect, $sql);
$output .= '
<div class="table-responsive">
<table class="table table-bordered">
<tr>
<th width="10%">Id</th>
<th width="40%">Price</th>
<th width="40%">Final Price</th>
<th width="10%">Delete</th>
</tr>';
if(mysqli_num_rows($result) > 0){
$final_price_total = 0;
$price_total = 0;
while($row = mysqli_fetch_array($result)){
$output .= '
<tr>
<td>'.$row["id"].'</td>
<td class="price" data-id1="'.$row["id"].'" contenteditable>'.$row["price"].'</td>
<td class="final_price" data-id2="'.$row["id"].'" contenteditable>'.$row["final_price"].'</td>
<td><button type="button" name="delete_btn" data-id3="'.$row["id"].'" class="btn btn-xs btn-danger btn_delete">x</button></td>
</tr>
';
$final_price_total += $row["final_price"];
$price_total += $row["price"];
}
$output .= '
<tr>
<td></td>
<td class="price_total" id="price_total" name="price_total" value="'.$price_total.'" contenteditable>'.$price_total.'</td>
<td class="final_price_total" id="final_price_total" name="final_price_total" value="'.$final_price_total.'" contenteditable>'.$final_price_total.'</td>
<td></td>
</tr>
';
$output .= '
<tr>
<td></td>
<td id="price" contenteditable></td>
<td id="final_price" contenteditable></td>
<td><button type="button" name="btn_add" id="btn_add" class="btn btn-xs btn-success">+</button></td>
</tr>
';
}
else{
$output .= '<tr>
<td colspan="4">Data not Found</td>
</tr>';
}
$output .= '</table>
</div>';
echo $output;
?>
나는 당신이 같은 행, 즉 가격의 부모 tr 내부의 최종 가격을 읽으려고한다고 가정하고 있습니다. 다음 코드가 작동합니다.
$(document).on('blur', '.price', function(){
var $el = $(this);
var id = $el.data("id1");
var price = $el.text();
edit_data(id, price, "price");
var $fel = $el.parents('tr:first').find('.final_price');
var id2 = $fel.data("id2");
var final_price = $fel.text();
var diff_total = final_price - price;
edit_data(id, diff_total, "diff");
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다