정확한 값을 얻기 위해 foreach를 사용하여 HTML에 ID / 클래스를 넣는 올바른 방법은 무엇입니까?

구자라트 산타나

여기에 코드를 사용하여 데이터를 성공적으로 표시했습니다.

<?php 
  foreach($jawapan as $row_jawapan):
?>
  <li class="vote-li" >
    <div class="round-button-circle">
      <span></span>
      <h1><?php echo $row_jawapan->answer_text;?></h1>
      <input class="id_answer" type="hidden" value="<?php echo $row_jawapan->id_option;?>">
      <input class="answer_text" type="hidden" value="<?php echo $row_jawapan->answer_text;?>">
    </div>
  </li>
<?php endforeach; ?>

이제 사용자가이 코드를 사용하여 클릭 할 때 정확한 값을 얻고 싶습니다.

$('.vote-li').on('click', function(){
  var id_question = $('.id_question').val(),
      answer_text = $('.answer_text').val(),
      user_id = $('.user_id').val(),
      id_option = $(this).prop('id');

  var data = {
    id_question: id_question,
    user_id: user_id,
    id_option: id_option,
    answer_text: answer_text
  };
  console.log(data);
});

이제 사용자가 vote-li클래스를 클릭 할 때마다 console.log항목 값이 다른 경우에도 첫 번째 인덱스 항목 만 표시됩니다. 나는 내가 작성에 실수를 생각 class/idinput요소,하지만 난 내 jQuery를 올바른 데이터를 추출 할 수 있도록 올바른 ID / 클래스를 넣어하는 방법을 모르겠어요.

Michał Perłakowski

대신 $('.id_question'), $('.answer_text').val()$('.user_id')사용 $(this).find('.id_question'), $(this).find('.answer_text')그리고 $(this).find('.user_id'), 그것은 단지 현재로 제한됩니다 그래서 .vote-li.

수정 된 코드 :

$('.vote-li').on('click', function(){
  var id_question = $(this).find('.id_question').val(),
      answer_text = $(this).find('.answer_text').val(),
      user_id = $(this).find('.user_id').val(),
      id_option = $(this).prop('id');

  var data = {
    id_question: id_question,
    user_id: user_id,
    id_option: id_option,
    answer_text: answer_text
  };

  console.log(data);
});

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관