как объединить значение радиокнопки с классом через JQuery - PullRequest
0 голосов
/ 04 мая 2018
$check = $(this).closest('ul').parent().attr('id');

У меня есть переменная "check", значение которой равно "quiz1"

и этот div (имеет идентификатор quiz1) содержит переключатель. поэтому я хочу значение переключателя (имеет параметр класса), который проверяется в викторине 1.

Итак, я использую

 $value = $($check +' .option:checked').val();
// error: undefind
$value = $('#'+$check +' .option:checked').val();
//Uncaught Error: Syntax error, unrecognized expression: #[object Object] .option:checked

основной div, сгенерированный с использованием php

<div class="modal-body tab-pane container quiz-list" id="quiz<?= $i ?>">
                      <h4><?= $i . "." ?> <?= $rowForQuiz['question'] ?> </h4>
                      <h4 class="mt-4"><input type="radio" name="quizoption[]" value="A"><label for="A"> <?= $rowForQuiz['optiona'] ?></label></h4>
                      <h4><input type="radio" class="option" name="quizoption[]" value="B"><label for="B"> <?= $rowForQuiz['optionb'] ?></label></h4>
                      <h4><input type="radio" class="option" name="quizoption[]" value="C"><label for="C"> <?= $rowForQuiz['optionc'] ?></label></h4>
                      <h4><input type="radio" class="option" name="quizoption[]" value="D"><label for="D"> <?= $rowForQuiz['optiond'] ?></label></h4>
                      <ul class="nav nav-pills">
                        <li class="nav-item">
                          <a class="custome-btn" data-toggle="pill" href="#quiz<?= $i+1 ?>">NEXT</a>
                        </li>
                      </ul>
                    </div>

<script type="text/javascript">
        $('.custome-btn').click(function(){
          $check = $(this).closest('ul').parent().attr('id');
          $value = $('#'+$check+' .option:checked').val();
          console.log($value);
        });
      });
    </script>

1 Ответ

0 голосов
/ 04 мая 2018

Отметьте это. Вы можете получить результат этим способом. я не изменил имя, значение и идентификатор, которые вы получаете динамически по php.

$('#'+variablename).find('input:radio:checked').each(function()

$('.custome-btn').click(function(){

var qn = $(this).closest('ul').parent().attr('id');

 $('#'+qn).find('input:radio:checked').each(function(){
            v = $(this).val();
        
        console.log(v);
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="modal-body tab-pane container quiz-list" id="quiz1">
                      <h4><?= $i . "." ?> <?= $rowForQuiz['question'] ?> </h4>
                      <h4 class="mt-4"><input type="radio" name="quizoption[]" value="A"><label for="A"> <?= $rowForQuiz['optiona'] ?></label></h4>
                      <h4><input type="radio" class="option" name="quizoption[]" value="B"><label for="B"> <?= $rowForQuiz['optionb'] ?></label></h4>
                      <h4><input type="radio" class="option" name="quizoption[]" value="C"><label for="C"> <?= $rowForQuiz['optionc'] ?></label></h4>
                      <h4><input type="radio" class="option" name="quizoption[]" value="D"><label for="D"> <?= $rowForQuiz['optiond'] ?></label></h4>
                      <ul class="nav nav-pills">
                        <li class="nav-item">
                          <a class="custome-btn" data-toggle="pill" href="#quiz<?= $i+1 ?>">NEXT</a>
                        </li>
                      </ul>
                    </div>
...