Как использовать jquery для получения каждого значения из цикла foresh cshtml - PullRequest
0 голосов
/ 01 мая 2018

Я строю систему оценки персонала, где пользователям задают 10 вопросов для оценки сотрудника. Как то так Staff Appraisal

Каждой звезде присваивается значение от 1 до 5. В настоящее время я получаю каждое значение, но как мне назначить каждое значение переменной, например: var questionOne = 2; var questionTwo = 3;

Это мой код:

<h4>Score Ola using our rating form below.</h4>
<p>Job Title: Nanny</p>
<p style="color: red; font-size: 12px;">
  Note: Questions are selected based on job title. We are constantly reviewing the list of job specific questions, please assist by recommending questions you would like to add to our job specific questionaire <a href="#">here</a>
</p>
@foreach (var question in Model.AppraisalQuestions)
{
  <p>@question.QuestionDescription</p>
  <div class="row lead evaluation">
    <div id="colorstar" class="starrr ratable"></div>
    <span id="count">0</span> star(s) - <span id="meaning"> </span>
  </div><br />
}

До сих пор Javascript:

$(document).ready(function() {
  var correspondence = ["", "Poor", "Below Expectation", "Above Expectation", "Good", "Excelent" ];
  $('.ratable').on('starrr:change', function(e, value) {
    $(this).closest('.evaluation').children('#count').html(value);
    $(this).closest('.evaluation').children('#meaning').html(correspondence[value]);
    var currentval =  $(this).closest('.evaluation').children('#count').html();
    var target =  $(this).closest('.evaluation').children('.indicators');
    target.css("color","black");
    target.children('.rateval').val(currentval);
    target.children('#textwr').html(' ');
    alert(value);
  });

Я хочу сохранить каждый счет в базе данных. Любая помощь будет высоко оценена. Благодаря

1 Ответ

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

Возможно, я неправильно понял ваш вопрос, но этот псевдокод работает для меня. Я добавил пять пустых звездочек к каждому вопросу и присвоил значение и идентификатор вопроса каждому. Вы также можете изменить значок звездочки с помощью jQuery, но я этого не включил.

Просто дайте мне знать, если я неправильно понимаю.

Код разметки:

@foreach (var question in Model.AppraisalQuestions)
{
    <p>@question.QuestionDescription</p>
    <div class="row lead evaluation">
        <i class="glyphicon glyphicon-star-empty starrr ratable" data-value="1" data-question="@question.QuestionID"></i>
        <i class="glyphicon glyphicon-star-empty starrr ratable" data-value="2" data-question="@question.QuestionID"></i>
        <i class="glyphicon glyphicon-star-empty starrr ratable" data-value="3" data-question="@question.QuestionID"></i>
        <i class="glyphicon glyphicon-star-empty starrr ratable" data-value="4" data-question="@question.QuestionID"></i>
        <i class="glyphicon glyphicon-star-empty starrr ratable" data-value="5" data-question="@question.QuestionID"></i><br />
        <span class="count">0</span> star(s) - <span class="meaning"> </span>
    </div><br />
}

Javascript:

<script type="text/javascript">
    $(document).ready(function () {
        var correspondence = ["", "Poor", "Below Expectation", "Above Expectation", "Good", "Excelent"];
        $(".ratable").click(function() {
            var value = $(this).data("value");
            var questionID = $(this).data("question");
            $(this).closest('.evaluation').children('.count').text(value);
            $(this).closest('.evaluation').children('.meaning').html(correspondence[value]);

            //TODO: send value and questionID to server, perhaps via ajax or something
        });
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...