【问题标题】:Active Index is not being persisted in jQuery accordion change event活动索引未在 jQuery 手风琴更改事件中保留
【发布时间】:2010-02-01 19:17:18
【问题描述】:

我有一个 asp.net aspx 页面,在该页面上我有一个隐藏的输入字段,其 ID 为 paneIndex。但是,当我加载页面时,警报显示索引 1,这在第一次加载时是正确的,但是如果我打开窗格 3,例如,警报仍然显示 1。我是不是做错了什么?

在 Custom.js 文件中,我有以下代码:

$(document).ready(function() {

    $("#accordion").accordion({
        active: 1,
        collapsible: true,
        autoHeight: false,
        change: function(event, ui) {
            var activeIndex = $("#accordion").accordion('option', 'active');
            $("#paneIndex").val(activeIndex);

           //alert(activeIndex);
       }
    });
});

在我的服务器端按钮单击中,我有以下代码:

string activeIndex = Request.Form["paneIndex"];
string script = string.Format(@"<script type=""text/javascript"">var paneIndex = 
                                {0};</script>", activeIndex);

  if(!ClientScript.IsStartupScriptRegistered("JSScript"))
      ClientScript.RegisterStartupScript(this.GetType(),"JSScript", script);

【问题讨论】:

    标签: asp.net jquery jquery-ui


    【解决方案1】:

    我刚刚在本地测试了 jquery 脚本,它对我来说很好,无需表单提交/回发。

    因此,我认为您的问题与未正确设置表单提交/activeIndex 变量有关。

    如果您使用asp.net,您是否需要提交表单而不是使用回发? 如果可能,我总是尝试回发到服务器而不是提交表单。

    如果您使用 Visual Studio,您还可以尝试在服务器端代码上设置断点,并在提交后调查 Request.Forms 集合是否包含正确的变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-23
      • 1970-01-01
      • 2016-01-20
      • 1970-01-01
      • 2016-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多