0

私は使用jquery ui tabsしています。タブを使用しているときに、ポストバック中にタブが選択されたインデックスを維持しないというシナリオに遭遇しました。それを検索して解決策を見つけました。私の問題は、ポストバック中に非表示フィールドの値がnullに設定されていることです。その結果、でのポストバック中に、選択したインデックスを維持できなくなりますjquery ui tabs

この問題を解決するにはどうすればよいですか?

これが私のコードです

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.1/jquery-ui.js">

<script type="text/javascript"> 
    $(function(){        

    //maintaining selected tab during postback    
        var selectedIndex=$("#<%=hFieldTabIndex.ClientID %>").val();
        alert(selectedIndex)//here value is always set to null
        if(selectedIndex==""){
            $("#tabs").tabs({active:0});
        }
        else{
             $("#tabs").tabs({active:1});
        }

    //Change the text of the button on tab change    
        $("#tabs").on("tabsactivate",function(){
           var index=$("#tabs").tabs("option","active");
           $("#<%=hFieldTabIndex.ClientID %>").val(index);//setting the hiddenfield value
           alert($("#<%=hFieldTabIndex.ClientID %>").val());//showing currect tab index
           if(index=="0"){
                $("#btnNext").attr('value','Next>>')
            }
           else{
                $("#btnNext").attr('value','<<Prev')
            }
        })
4

2 に答える 2

0

あなたは次のコードで行うことができます

<script type="text/javascript" language="javascript">
$(function() {
    $("#example").tabs({
        show: function() {
            var sel = $('#example').tabs('option', 'selected');
            $("#<%= hidLastTab.ClientID %>").val(sel);
        },
        selected: <%= hidLastTab.Value %>
    });
});

それが機能しない場合は、のようなスクリプトグローバル変数var tabNo=0;を使用して、非表示フィールドで使用しているのと同じ値を設定および取得してみてください。

于 2013-03-13T06:19:10.747 に答える
0

最終的に、hiddenfield の値を格納するために、ページの読み込みにいくつかのコードを記述した解決策を得ました。

protected void Page_Load(object sender, EventArgs e)
{
    hFieldTabIndex.Value = Request.Form[hFieldTabIndex.UniqueID];
}
于 2013-03-13T08:25:06.110 に答える