javascript - 为什么我的脚本(更改 css 样式)在 UpdatePanel 中不起作用?

标签 javascript css asp.net bootstrap-modal updatepanel

我有一个 UpdatePanel里面有以下代码:

<asp:UpdatePanel ID="UpdatePanel4" runat="server">
  <ContentTemplate>

<nav class="navbar">  
  <ul class="nav nav-tabs nav-justified">
   <li class="item0"><a href="#" onserverclick="btnhoje" runat="server">Hoje</a></li>
   <li class="item1"><a href="#" onserverclick="btnserie" runat="server">Série</a></li>
   <li class="item2"><a href="#" onserverclick="btnutente" runat="server">Utente</a></li>
  </ul>
</nav>

<asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
  <asp:View ID="Tab1" runat="server">
...
  </asp:View>
  <asp:View ID="Tab2" runat="server">
...
  </asp:View>
  <asp:View ID="Tab3" runat="server">
...
  </asp:View>
</asp:MultiView>

  </ContentTemplate>
</asp:UpdatePanel>

PS:我正在使用 Bootstrap和我的 UpdatePanelModal里面.

这是我的 Script :

<script>
  var CurrentView = <%= MultiView1.ActiveViewIndex %>;
  if (CurrentView == 0){
    $('a').closest('ul').find('.item0').addClass('active');
  }
  else if (CurrentView == 1){
    $('a').closest('ul').find('.item1').addClass('active');
  }
  else if (CurrentView == 2){
    $('a').closest('ul').find('.item2').addClass('active');
  };
</script>

所以我的问题是当我打开 Modal UpdatePanel更新和我的 Script什么都不做,当我更改 ViewMultiview我想添加 class "active"到我的li标记,但仅当我单击 item0 时, item1item2默认 View 是 item0 .

nav里面UpdatePanel Image


nav外面UpdatePanel

Image

如果我没有说清楚,请随时问我。

编辑:

$('.teste-bar .nav li').on('click', 'body', function(){
  $('.teste-bar .nav li').removeClass('active');
  $(this).addClass('active');
});

最佳答案

请试试这个

<div class="wrapper">

    <asp:UpdatePanel ID="UpdatePanel4" runat="server">
    <ContentTemplate>

    <nav class="navbar test-bar">  
        <ul class="nav nav-tabs nav-justified">
            <li class="item0 active"><a href="#" onserverclick="btnhoje" runat="server">Hoje</a></li>
            <li class="item1"><a href="#" onserverclick="btnserie" runat="server">Série</a></li>
            <li class="item2"><a href="#" onserverclick="btnutente" runat="server">Utente</a></li>
        </ul>
    </nav>

    <asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
    <asp:View ID="Tab1" runat="server">
    ...
    </asp:View>
    <asp:View ID="Tab2" runat="server">
    ...
    </asp:View>
    <asp:View ID="Tab3" runat="server">
    ...
    </asp:View>
    </asp:MultiView>

    </ContentTemplate>
    </asp:UpdatePanel>

</div>


**JQuery**
$( function() { // Document Ready
    $('.test-bar .nav li').on('click', '.wrapper', function(){
        $('.test-bar .nav li').removeClass('active'); // Corrected Line
        $(this).addClass('active');
    });
});

关于javascript - 为什么我的脚本(更改 css 样式)在 UpdatePanel 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44131988/

相关文章:

c# - GridView ButtonField 后面的命令

javascript - 在 createElement ('div' 之后直接使用 addEventListener )

带参数和不带参数的 JavaScript onclick 函数

javascript - 将字符串从 .NET 传递到 JavaScript 变量

html - 水平滚动表格而不将它们包装在 div 中

javascript - 使用 Angular 4 将页眉/页脚与内容分开

asp.net - Microsoft.Jet.OLEDB.4.0 未在本地系统注册

javascript - 如何禁用 dropzone 的自动文件上传?

php - Javascript/jQuery 是否有内置方法或插件来检查所有表单数据的值/名称?

css - 使输入按钮在移动设备上响应?