홈>
장바구니 클래스가 있는데 같은 제품에 대해 서로 다른 크기와 같은 여러 속성을 가진 동일한 제품 ID를 저장할 수 있습니다. 그러나 동일한 제품 ID의 배열에 여러 항목이 있고 각 항목을 하나씩 제거 할 때 배열에서 제거 할 수없는 항목 중 1 개 또는 2 개가있는 경우가 있습니다. 일부 항목 만 제거 할 수 있지만 전부는 아닙니다.
항목을 제거하는 버튼
<div class="removebtn" data-id="'.$id.'" data-qty="'.$item['quantity'].'" data-price="'.((isset($item['attributes']['price'])) ? $item['attributes']['price'] : '').'" data-size="'.((isset($item['attributes']['size'])) ? $item['attributes']['size'] : '').'" >
아약스가 아이템을 제거합니다
$('.removebtn').on('click', function(){
var $btn = $(this);
var id = $btn.attr('data-id');
var size = $btn.attr('data-size');
var price = $btn.attr('data-price');
var qty = $btn.attr('data-qty');
var action = "remove";
$.ajax ({
method: 'post',
url: 'mycart.php',
data: {
id: id,
size:size,
action: action,
price:price,
qty:qty
},
제거 할 기능
/**
* Remove item from cart.
*
* @param string $id
* @param array $attributes
*
* @return bool
*/
public function remove($id, $attributes = [])
{
if (!isset($this->items[$id])) {
return false;
}
if (empty($attributes)) {
unset($this->items[$id]);
$this->write();
return true;
}
$hash = md5(json_encode(array_filter($attributes)));
$index = 0;
foreach ($this->items[$id] as $item) {
if ($item['hash'] == $hash) {
unset($this->items[$id][$index]);
$this->write();
return true;
}
++$index;
}
return false;
}
mycart.php
if ($_POST["action"] == 'remove') {
$cart->remove($_POST['id'],[
'price' => $_POST['price'],
'size' => (isset($_POST['size'])) ? $_POST['size'] : '',
]);
}
- 답변 # 1
관련 자료
- node.js - Firestore 어레이에서 여러 요소를 동적으로 제거하는 방법은 무엇입니까?
- MongoDB는 배열에서 항목을 삭제할 수 없습니다
- node.js - 자바 스크립트의 마지막 배열 값에서 \ r 제거
- javascript - 특정 키로 JSON 객체 배열을 그룹화하고 중복 제거
- python - memoryerror - 모양 (5844379795) 및 데이터 유형이 int64 인 배열에 대해 435gib를 할당 할 수 없습니다
- typescript - 각도의 다른 배열 내부에있는 배열 내부의 항목을 제거 하시겠습니까?
- javascript - 조건에 따라 2D 배열에서 단일 배열 제거
- javascript - v-model을 사용하여 배열에서 요소를 추가/제거 할 수 있습니까?
- bash - sed 또는 awk에서 연관 배열 값을 사용할 수 없습니다
- 배열 배열을 줄이고 Javascript 데이터에서 null 제거
- 자바 스크립트는 배열을 평평하게하고 감소로 중복 제거
- pandas - 배열에서 ''[]을 제거하는 방법 (파이썬)
- python - 2D 배열 내부의 모든 값을 가져올 수 없습니다
- javascript - ReactJS는 상태 (객체 배열)에서 항목을 제거합니다
- mongodb - _id의 배열이있는 경우 하위 배열에있는 이러한 _id의 포함 된 항목을 제거하려면 어떻게해야합니까?
- loops - Java에서 반복 할 때 배열 목록에서 항목을 어떻게 제거합니까?
- 자바 스크립트 - 조건이있는 배열에서 중복 객체 제거
- PHP의 배열 키를 기반으로 배열 배열 내에서 중복을 제거하는 방법은 무엇입니까?
- javascript - 다른 객체를 기반으로 배열 항목 제거
- javascript - JS에서 피보나치 시퀀스를 만들 때 배열의 처음 두 항목을 가져올 수 없습니다
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- JavaScript 변수를 HTML div에 '출력'하는 방법
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 화면에서 찾은 요소를 찾을 수없는 경우 셀레늄
설정하지 않고 빈 자리를 남겨두기 때문에 스스로 계산하는 대신 foreach 루프의 키를 사용해야합니다.
이 시점에서$array[1]
이 설정되어 있지 않으므로 수동 계산이 작동하지 않습니다. 그냥 이것을 사용하십시오 그 외에도 해시를 계산하는 방식은 그다지 강력하지 않으며 입력 배열의 순서에 크게 의존합니다. 나도 이것을 바꿀 것입니다 ..