Добавить / изменить значение поля Комментарии в динамической таблице - PullRequest
0 голосов
/ 14 октября 2019

Я получаю данные из таблицы SQL и показываю их в частичном представлении с помощью приведенной ниже таблицы HTML:

<div class="panel panel-primary">
<h3>Disclosure of Incentives Form</h3>
<br />
<table class="table table-condensed table-striped table-bordered" style="width:100%" id="DIFQuestions">
    <thead>
        <tr>
            <th> Question</th>
            <th> Outcome</th>
            <th> Comments</th>
        </tr>
    </thead>
    <tbody>
        @For Each d In Model.DIFQuestions
            @<tr>
               <td hidden>@d.ID</td>
               <td width="40%" >@d.Description</td>
               <td width="10%">
                <form id="outcomeRadios">
                    <input type="radio" name="DIFPassFail" id="outcomePass" value="True" /> Pass &nbsp;
                    <input type="radio" name="DIFPassFail" id="outcomeFail" value="Fail" /> Fail
                </form>
              </td>
               <td>
                   <a href="#" class="difcomment" title="Add DIF Information">
                       <span class="fa fa-pencil"></span>
                   </a> &nbsp; Some text here
               </td>
               <td hidden>@d.Order</td>
             </tr>
        Next
    </tbody>
</table>
<br />
<div class="col-md-12">
    <button class="btn btn-success submitDIFAnswers">Submit</button>
</div>
<br>

Как видно, я показываю3 поля: «Вопрос», «Результат» и «Комментарии». 'Question' происходит из таблицы SQL, тогда как 'Outcome' и 'Comments' создаются динамически через цикл for.

Шрифт, отличная кнопка карандаша в поле «Комментарии», вызывает следующий модальный режим:

<div class="modal fade" id="addeditdifcomments" role="dialog">
<div class="modal-dialog modal-lg">
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h3 class="modal-title">Add Comments</h3>
        </div>
        <div class="modal-body">
            <div class="row alert">
                <div class="col-md-6">
                    <textarea class="difinfo form-control" rows="3" id="difinfo" placeholder="Add DIF information" style="min-width: 200%;"></textarea>
                </div>
            </div>
        </div>
        <div class="modal-footer">
            <Button type="button" Class="btn btn-success submitdifcomment">Submit</Button>
        </div>
    </div>
</div>

У меня проблемы с отправкой отдельных заметок через модал для каждоговопрос. Ниже приведен JQuery, который показывает модальное и тот, который предназначен для сохранения текста заметки для каждой строки:

$(document).ready(function () {

    $(".difcomment").click(function () {
        $("#addeditdifcomments").modal('show');
    });


    $(".submitdifcomment").click(function () {

        var difInfo = $(".difinfo").val();

        $(".difcomment").val(difInfo);

        $("#addeditdifcomments").modal('hide');
    });    

});

Надеюсь, все это имеет смысл. Дайте мне знать, если мне нужно предоставить дополнительную информацию.

Любая информация будет оценена. Спасибо.

1 Ответ

0 голосов
/ 15 октября 2019

Мне удалось это сделать, назначив @d.ID в качестве идентификатора для моего тега span, поэтому каждый Comment будет иметь уникальный идентификатор против него.

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

JQuery ниже:

    // open modal to submit dif comment
    $(".difcomment").click(function () {           
        questionID = $(this).parent('td').find('span').prop('id')
        $('#addeditdifcomments').modal('show');
    });

    // submit comment
    $(".submitdifcomment").click(function () {

        var difInfo = $(".difinfo").val();
        var path = "span#" + questionID;

        $(path).text(difInfo);

        $(".difinfo").val('');

        $("#addeditdifcomments").modal('hide');
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...