여기에 코드를 사용하여 데이터를 성공적으로 표시했습니다.
<?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/id
에 input
요소,하지만 난 내 jQuery를 올바른 데이터를 추출 할 수 있도록 올바른 ID / 클래스를 넣어하는 방법을 모르겠어요.
대신 $('.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] 삭제
몇 마디 만하겠습니다