2016-03-29 3 views
0

У меня есть проект ASP.NET mvc, в котором есть функция добавления комментариев. Я хочу, чтобы при нажатии кнопки ответа представление вида загружалось в пространство сразу после этого конкретного комментария. Функция Reply() существует для загрузки. Но представление создания загружается в пространство сразу после самого первого комментария, даже если я нажму кнопку ответа под любым комментарием. Ниже код находится в ShowComments зрения, что я сделать в конце любого другого видаЗагрузка данных Ajax только после первой строки

@foreach (var item in Model) 
     { 
       //code to display other properties of comment object 
       <section onclick="Reply()" class="btn btn-default"> 
        Reply 
       </section> 
       <div id="ReplyCommentBox"> 

       </div>  
     } 

Ответить функция имеет следующую строку

$('#ReplyCommentBox').load('http://localhost:5414/Comments/Create/'); 

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

ответ

2
@foreach (var item in Model) 
    { 
      //code to display other properties of comment object 
      <section class="btn btn-default reply-btn"> 
       Reply 
      </section> 
      <div class="ReplyCommentBox"> 

      </div>  
    } 

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

$(document).on('click', '.reply-btn', function(){ 
    var replyBox = $(this).next('.ReplyCommentBox'); 
    var boxContent = $.trim(replyBox.html()) 

    if(boxContent){ 
     # if the `ReplyCommentBox` has content empty it 
     replyBox.html(''); 
    }else{ 
     # no content, so load the div with content 
     replyBox.load('http://localhost:5414/Comments/Create/'); 
    } 
}) 

это будет проверить, если ReplyCommentBox имеет какое-либо содержание в нем. если он имеет какой-либо контент, он удалит его, иначе он загрузит представление комментариев.

+0

Спасибо, Bhadra, но теперь ничего не происходит при нажатии кнопки, а окно консоли также не дает никакой ошибки. –

+0

отредактировал код. cn u check once – Bhadra

+0

Bhadra, все тот же. Ничего не происходит при нажатии кнопки и без ошибок на консоли. –

Смежные вопросы