如何将值设置为hiddenfield并触发OnValueChanged事件

时间:2015-07-31 17:19:53

标签: javascript jquery asp.net twitter-bootstrap

我有引导程序navbars,对于每个选项卡,我有一个单独的数据要绑定。所以在选项卡更改事件中我想找到选项卡索引并执行相应的绑定。

为此,我采用了asp HiddenField并获得了OnValueChanged事件

<asp:HiddenField ID="hdnField" runat="server" OnValueChanged="hdnField_ValueChanged" />

并在jquery中设置值如下

<script type="text/javascript">
        $(document).ready(function () {
            $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
                var activeTab1 = e.target;

                var activeTab = $(e.target).text(); // Get the name of active tab
                var previousTab = $(e.relatedTarget).text(); // Get the name of previous tab
                varTab = $("#myTab").tabs("option", "selected");
                document.getElementById("<%= hdnField.ClientID %>").value = varTab;   //Setting value for hiddenfield
                $(".active-tab span").html(activeTab);
                $(".previous-tab span").html(previousTab);
            });
        });
    </script>

OnValueChanged事件未触发。如何设置隐藏字段的索引值

我的导航栏html是

<ul class="nav nav-tabs" id="myTab">
<li class="active"><a data-toggle="tab" href="#sectionA">Menu</a></li>
<li><a data-toggle="tab" href="#sectionB">About</a></li>
<li><a data-toggle="tab" href="#sectionC">Help</a></li>
</ul>

1 个答案:

答案 0 :(得分:0)

HiddenField ValueChanged事件仅在页面回发到服务器时触发。一旦触发回发,它会在viewstate中查找旧值和新值,如果不同,则会引发ValueChanged事件。

如果您尝试从客户端触发,您可以强制执行更改事件:hidden input change event

不确定您是否希望在客户端上运行...