jquery... each 질문드립니다.

jquery... each 질문드립니다.

QA

jquery... each 질문드립니다.

답변 3

본문


<select class="selectbox" name="wr_1[]">
  <option value="사과">사과</option>
  <option value="오렌지">오렌지</option>
  <option value="바나나">바나나</option>
  <option value="딸기">딸기</option>
<select>
<select class="selectbox" name="wr_1[]">
  <option value="사과">사과</option>
  <option value="오렌지">오렌지</option>
  <option value="바나나">바나나</option>
  <option value="딸기">딸기</option>
<select>
..
..
..


wr_1이 배열로 들어갑니다. 개수는 무한대로 늘어날 수 있습니다.

select를 선택할때마다 각각 select의 value값을 검색해서 동일 값이 있으면 경고창을 띄워주고 싶은데
어떻게 해야 할지 잘 모르겠습니다.

이 질문에 댓글 쓰기 :

답변 3


$('.selectbox').on('change', function() {
  let sel_val = $(this).val();
  let cnt = 0;
 
  $('.selectbox').each(function() {
     if ($(this).val() == sel_val)
       cnt++;
  });
 
  if (cnt >= 2)
     alert('경고');
});

var dataArr = new Array();
var selectBox = $('.selectbox');
selectBox.each(function() {
  var _this = $(this);
  dataArr.push(_this.val());
});
selectBox.on('change', function() {
  var _this = $(this);
  var _data = _this.val();
  var _index = _this.index();
  if (!dataArr.includes(_data)) {
    dataArr[_index] = _data;
  } else {
    alert('추가된 데이터');
  }
  console.log(dataArr);
});


테스트 https://codepen.io/moon-chai-jung-arkiad/pen/BarEwXB?editors=1111
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 125,873
© SIRSOFT
현재 페이지 제일 처음으로