2016-09-28 3 views
-1

у меня есть тег <div>, который показывает сетку, содержащую ссылку, чтобы показать ее подробно, в заголовке тега div У меня есть кнопка для переключения <div, это отлично работает , Я хочу, чтобы, когда я нажимаю кнопку linkview в gridview, переключается отображение gridview с этим кодом, похоже, что он будет работать, но он активирует функцию переключения, но автоматически и автоматически. это мой жерех кодjquery toggle не работает нормально с помощью кнопки ссылки

<span class="expande_button expandeSurtido" data-ref="parciales"><i class="fa fa-chevron-circle-up"> 
    </i>Expandir documentos</span> 
    <div id="parciales"> 
    <asp:GridView ID="uxGridViewPartials" runat="server" AutoGenerateColumns="false" Visible="false" Width="50%" > 
     <Columns> 
     <asp:BoundField DataField="documentNumber" HeaderText="Folio" ItemStyle-CssClass="tdCenter" /> 
     <asp:BoundField DataField="date" HeaderText="Fecha" DataFormatString="{0:d}" ItemStyle-CssClass="tdCenter"/>         
     <asp:TemplateField HeaderText="Seleccionar"> 
     <ItemTemplate> 
      <div class="app_acciones divCentrar"> 
      <asp:LinkButton ID="uxLinkButtonSeleccionar" runat="server" Visible="true" 
      CssClass="app_button contrae" data-ref="parciales" 
      OnClick="uxLinkButtonSeleccionar_Click"            
      CausesValidation="False">Ver 
      </asp:LinkButton>        
     </div>        
     </ItemTemplate> 
     </asp:TemplateField> 
     <asp:BoundField DataField="pkProductDocument" ItemStyle-CssClass="hide" HeaderStyle-CssClass="hide" /> 
     </Columns> 
     <HeaderStyle CssClass="HeaderStyle" /> 
     <RowStyle HorizontalAlign="Center" />        
     </asp:GridView> 
    </div> 

и это мой JS

$('#contenedor').on("click", '.expandeSurtido', function() { 
    $(this).children('i').toggleClass('fa-chevron-circle-down', 'fa-chevron-circle-up'); 
    $idPanel = $(this).attr('data-ref'); 
    $('#' + $idPanel).toggle("slow"); 
}); 

$('#contenedor').on("click", '.contrae', function() { 
    $idPanel = $(this).attr('data-ref'); 
    $('#' + $idPanel).toggle("slow"); 
}); 

В упоминанием, как вы можете увидеть все содержащиеся в DIV с классом называется contenedor

+0

Почему все это настроено для работы на сервере, если для этого вы хотите? страница, вероятно, освежает. Что делает 'uxLinkButtonSeleccionar_Click'? – charlietfl

+0

с 'uxLinkButtonSeleccionar_Click' Я привожу деталь этой строки и показываю ее под этим, я отлаживаю ее, но в какой-то момент делаю действие переключения, чтобы показать div снова – Eddyprici

+0

, что не очень понятно ... показать код для него – charlietfl

ответ

0

Проблема заключается в том, что " OnClick "в веб-формах ASP.NET: сервер боковые функции, которые затем повторно отображают страницу после их завершения.

Вы обработчик работает очень хорошо, но затем сразу же возвращается на сервер, чтобы иметь дело с обработчиком кликов, а затем повторно отображает страницу (с переходом в исходное состояние).

Вы не должны использовать LinkButton для этого (так как они довольно сильно привязаны к серверным элементам управления). Просто сделайте это тегом: <a href="#" class="contenedor">Ver</a> и добавьте к нему обработчик, и он должен работать нормально.

+0

и preventDefault также – charlietfl

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