Malvin
[jQuery] 다수 데이터 가져오기 본문
$(document).ready(function () {
// 입고데이터 배열
// 숫자만 입력 가능하도록 설정
$(document).on('input', 'input[name="receiving_count"], input[name="receiving_price"]', function (){
this.value = this.value.replace(/[^0-9]/g,'');
})
// 입고처리 버튼 클릭 이벤트
$('#saveReceiving').click(function (){
receivingList = [];
$('tbody tr').each(function (){
const itemNo = $(this).find('td.item-no').text().trim();
const receivingCount = $(this).find('input[name="receiving_count"]').val();
const receivingPrice = $(this).find('input[name="receiving_price"]').val();
const stockCount = $(this).find('td.stock-count').text().trim();
if (itemNo && receivingCount) {
receivingList.push({
itemNo: itemNo,
receivingCount: receivingCount,
receivingPrice: receivingPrice,
stockCount: stockCount
});
}
});
console.log("receivingList:", receivingList);
console.log("receivingList JSON:", JSON.stringify(receivingList, null, 2));
//입고할 데이터가 있는 경우 서버전송
if (receivingList.length > 0 ){
funSaveReceiving();
} else {
alert('입고할 상품의 수량과 가격을 입력해주세요.');
}
});
});
function funSaveReceiving(){
$.ajax({
url: '/api/items/receiving'',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(receivingList),
success: function (response) {
alert('입고처리가 완료 되었습니다.');
location.reload();
},
error: function (xhr, status, error){
alert('입고처리 중 오류가 발생했습니다.');
console.error('Error:',error);
}
})
}
@RestController
@RequestMapping("/api/items")
public class ItemController {
@PostMapping("/receiving")
public ResponseEntity<String> saveReceivingData(@RequestBody List<ReceivingRequest> receivingList) {
// 로직 처리
for (ReceivingRequest request : receivingList) {
System.out.println("ItemNo: " + request.getItemNo());
System.out.println("Receiving Count: " + request.getReceivingCount());
System.out.println("Receiving Price: " + request.getReceivingPrice());
// 저장 로직 수행
}
return ResponseEntity.ok("입고 정보가 저장되었습니다.");
}
}
// DTO 클래스
@Data
public class ReceivingRequest {
private String itemNo;
private int receivingCount;
private int receivingPrice;
}
'웹개발 > jQuery' 카테고리의 다른 글
[jQuery] 입력값 검증 (0) | 2025.01.24 |
---|---|
[jQuery] 데이터 가져오기 (0) | 2025.01.22 |
[jQuery] 폼 입력 처리와 검증 (0) | 2025.01.10 |
[jQuery] jQuery를 사용한 체크박스 처리 방법 (0) | 2025.01.10 |
[jQuery] jQuery에서 데이터 속성(data attributes)을 조작하는 방법 (0) | 2025.01.09 |