0

updatepanel に tabcontainer があり、tabcontainer の下に gridview を表示したいと思います。タブコンテナ内では、各タブを押すと変更できますが、タブをクリックするとグリッドビューを変更できません。

現在、alertで確認したところ、以下のjavascriptが動作していることがわかります。

<script type="text/javascript" src="Scripts/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="Scripts/jquery-ui-1.8.13.custom.min.js">
</script>
<script type="text/javascript">
function tabClick() {

    var selected_tab = $("#TabContainer1").tabs();


    alert(selected_tab);
    return;
}

以下のようなタブコンテナがあります

<asp:UpdatePanel ID="EmployeeInfoUpdatePanel" runat="server">
    <ContentTemplate>
    <div style="padding-left:205px">
        <asp:TabContainer ID="TabContainer1" runat="server" Width="955px" 
            Height="350px"  CssClass="fancy fancy-green" ActiveTabIndex="0" OnClientActiveTabChanged="tabClick">
            <asp:TabPanel ID="companyTab" HeaderText="Company" runat="server"  ForeColor="Black">  
                <ContentTemplate>
                       codes....

tab.get_activetab などのコードを検索して見つけましたが、機能しません。selected_tabと入力した場合。そしてビジュアルスタジオは私が選択できるオプションを思いつきましたが、get_activetab または _activeTabIndex のオプションはありません

アクティブなタブ ID を取得し、パラメーターを C# コードに渡したいと思います。

出来ますか??

誰か助けてくれませんか?

ありがとう

4

2 に答える 2

1

ストレートJavaScript関数の場合、以下を使用してアクティブなタブを取得します。

 var tab = document.getElementById('tabContainer');
 var currentTabIndex = tab.control.get_activeTabIndex();
 var currentTabId = tab.control._tabs[currentTabIndex]._tab.id;

次に、AJAXを使用してIDをサーバーに戻します。

于 2013-03-12T21:55:40.323 に答える
1

まず、jqueryオブジェクトまたはネイティブjavascriptオブジェクトから任意の要素のIDを取得できます。

   // jquery get id of html element
   $(myJquerySelector)[0].id
   $(myJquerySelector).attr('id');

   // native js get id of html element
   document.querySelector(myNativeSelector).id;
   document.getElementById(theID).id;

しかし、あなたの問題はそれを超えています。アクティブなタブのIDを取得するには、そのタブを取得する必要があります

   $('.ui-tabs-active')[0].id // will give you the id of the active tab

次に、それをサーバーに渡すには、 AJAXが必要になります。だから次のようなもの:

   $.post('/my/server/path', { id : $('.ui-tabs-active')[0].id });

これにより、アクティブなタブのIDがサーバーとC#に送信されます。

于 2013-03-12T21:35:46.087 に答える