테스트 사이트 - 개발 중인 베타 버전입니다

jquery... each 질문드립니다. 채택완료

예서제이 3년 전 조회 1,827

<select class="selectbox" name="wr_1[]">

  <option value="사과">사과</option>

  <option value="오렌지">오렌지</option>

  <option value="바나나">바나나</option>

  <option value="딸기">딸기</option>

<select></p>

<p><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개

채택된 답변
+20 포인트
3년 전

</p>

<p>$('.selectbox').on('change', function() {</p>

<p>  let sel_val = $(this).val();</p>

<p>  let cnt = 0;</p>

<p> </p>

<p>  $('.selectbox').each(function() {</p>

<p>     if ($(this).val() == sel_val)</p>

<p>       cnt++;</p>

<p>  });</p>

<p> </p>

<p>  if (cnt >= 2)</p>

<p>     alert('경고');</p>

<p>});</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

예서제이
3년 전
답변 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

Checkbox를 쓰세요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

아르키어드

</p>

<p>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);

});</p>

<p>
테스트 https://codepen.io/moon-chai-jung-arkiad/pen/BarEwXB?editors=1111

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

예서제이
3년 전
답변 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인