Показать детали определенного столбца в модальности начальной загрузки - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть таблица данных jquery, в которой есть поле описания, я хочу ограничить количество слов 30 и добавить ссылку показать еще.когда пользователь нажимает на шоу больше, комментарий этого конкретного идентификатора откроется в модале начальной загрузки.До сих пор я могу сделать это много, но комментарий не появляется в модале начальной загрузки.

<script type="text/javascript">
    $(document).ready(function () {

        $(document).on("click", ".opencomment", function () {
            var mycomment = $(this).data('FeedbackID');
            $(".modal-body #commentdesc").val(mycomment);
        });

        $('#FeedbackDetails').DataTable({
            "processing": true,

            "ajax": {
                "url": "/ViewFeedback/LoadData",
                "type": "GET",
                "datatype": "json"
            },
            "lengthMenu": [
                [5, 10, 25, 50, 100, -1],
                [5, 10, 25, 50, 100, "All"]
            ],
            "autoWidth": true,
            "responsive": true,
            "lengthChange": true,
            "ordering": true,
             "fnRowCallback" : function(nRow, aData, iDisplayIndex){      
                      var oSettings = this.fnSettings();
                       $("td:first", nRow).html(oSettings._iDisplayStart+iDisplayIndex +1);
                       return nRow;
            },
            "columns": [
                { "data": null, "autoWidth": true },
                { "data": "FeedbackUserName", "name": "User Name", "autoWidth": true },
                { "data": "FeedBackUserEmailID", "name": "Email ID", "autoWidth": true },
                { "data": "FeedBackComment", "name": "Comment", "autoWidth": true },
                { "data": "Designation", "name": "Designation", "autoWidth": true },
                { "data": "Organization", "name": "Organization", "autoWidth": true },
                { "data": "ContactNo", "name": "Contact No", "autoWidth": true },
                { "data": "City", "name": "City", "autoWidth": true },
                {
                    "data": "FeedBackDate", "name": "Feedback Date", "autoWidth": true,
                    'render': function (jsonDate) {
                        var date = new Date(parseInt(jsonDate.substr(6)));
                        var month = date.getMonth();
                        return date.getDate() + "/" + month + "/" + date.getFullYear();
                    }
                },


            ],


            columnDefs: [{

                targets: 3,
                data:"FeedbackID",
                render: function (data, type, row, meta) {
                    if (type === 'display' && data.length > 40) {
                       return '<span title="' + data + '">' + data.substr(0, 38) + '...<a href="" data-id="'+data+'" data-toggle="modal" class="opencomment" data-target="#myModal">Show More</a>';

                    }
                    else {
                        return data;
                    }


                }

            }],

            "language": {
                "emptyTable": "No Events Found Related To This User"
            }
        });
    });
</script>

<div class="container" style="margin-top:10px">
    <table id="FeedbackDetails" class="ui celled table">
        <thead>
           <tr>
             <th>S.No</th>
             <th>User Name</th>
             <th>Email ID</th>
             <th>Comment</th>
             <th>Designation</th>
             <th>Organization</th>
             <th>Contact No</th>
             <th>City</th>
             <th>Feedback Date</th>
            </tr>
          </thead>
     </table>
  </div>
  <div id="myModal" class="modal fade" role="dialog">
      <div class="modal-dialog">
           <div class="modal-content">
                <div class="modal-header">
                     <h4 class="modal-title">Feedback Comment</h4>
                </div>
                <div class="modal-body">
                     <p id="commentdesc"></p>
                </div>
                <div class="modal-footer">
                     <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
                </div>
            </div>
      </div>
  </div>


public ActionResult LoadData()
{           
    using (DHIFeedbackEntities2 Ms = new DHIFeedbackEntities2())
    {
         var feedbacklist = Ms.FeedBacks.ToList<FeedBack>();
         return Json(new { data = feedbacklist }, JsonRequestBehavior.AllowGet);
    }
}

1 Ответ

0 голосов
/ 27 февраля 2019

Я не могу найти комментарий div в вашем модале с идентификатором #commentdesc.

Так что измените ваш модальный HTML на:

<div id="myModal" class="modal fade" role="dialog">
           <div class="modal-dialog">
               <div class="modal-content">
                   <div class="modal-header">
                       <h4 class="modal-title">Feedback Comment</h4>
                   </div>
                   <div class="modal-body">
                       <p id="commentdesc"></p>
                   </div>
                   <div class="modal-footer">
                       <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
                   </div>
               </div>
           </div>
       </div>

Затем покажите модальный при нажатии на ссылку.Также, чтобы ваш комментарий изменился на $(this).data('id');, и поскольку вы используете тег абзаца, установите его html, а не val свойства

    $(document).on("click", ".opencomment", function () {
        var mycomment = $(this).data('id');
        $(".modal-body #commentdesc").html(mycomment);
        $('#myModal').modal('show');
    });

Также, если ваш селектор jquery по идентификатору, в этом нет необходимости.чтобы найти его в классе: $(".modal-body #commentdesc").val(mycomment); измените его на $("#commentdesc").val(mycomment);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...