0

ドロップダウン値に基づいて表示または非表示にしたい AjaxControlToolkit があります。

「ShowLinkBut​​ton」コントロールのテキストを変更することで(アコーディオンを非表示にしたい場所に空白の「」を使用して)非表示にすることができましたが、アコーディオン自体を非表示にしたいと思います。(テキストが空白の場合でも、アコーディオンはクリック可能です。)

だから、ここに私のjqueryコードがあります:

$(function() {
    if ($('#<%= DDStatusList.ClientID %>').change(function() {
        var statusval2 = $("#SampleContent_Tabs_TabPanel3_DDStatusList").val();
        if (statusval2 == 4) {
            $('#<%= ShowLinkButton.ClientID%>').html("Show Accordion");
        }
        else {
            $('#<%= ShowLinkButton.ClientID%>').html("");
        }
    }));
});​

アコーディオンと LinkBut​​ton の両方の visible プロパティを false にして、jquery 関数で条件が満たされたときに true にしようとしましたが、どちらの戦略もうまくいかないようです。

考え?

4

3 に答える 3

0
document.getElementById('<%= MyAccordion.ClientID%>').AccordionBehavior.set_SelectedIndex(2)// expand panel nr.3
// index starts from 0 (number of panel ) if close  set it -1

またはjquery

$('#<%= MyAccordion.ClientID %>').get(0).AccordionBehavior.set_SelectedIndex(2)

 $('#<%= MyAccordion.ClientID %>').get(0).set_TransitionDuration(1000) //set timeout for collapse in ms.

コンテンツでパネルを非表示

   document.getElementById('ctl00_SampleContent_MyAccordion').AccordionBehavior.get_Pane(0).content.style.display='none';
    document.getElementById('ctl00_SampleContent_MyAccordion').AccordionBehavior.get_Pane(0).header.style.display='none';

Javscriptは、Chromeのデバッグコンソールでhttp://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite/Accordion/Accordion.aspxでテストされました。

于 2012-12-04T18:52:52.573 に答える
0

皆さんありがとう。

私はこれをやった:

if ($('#<%= DDStatusList.ClientID %>').change(function () {
                                        var statusval2 = $("#MainContent_Tabs_TabPanel3_DDStatusList").val();
                                        var statusvalcurrent = $("#MainContent_LabelStatusNumber").text();
                                        if (statusval2 == 4 && statusvalcurrent == 4.3) {

                                            $('#<%= status43panel.ClientID%>').show();

                                            //alert("show");
                                        }
                                        else {

                                            $('#<%= status43panel.ClientID%>').hide();

                                            //alert("hide");
                                        }
于 2012-12-17T03:40:50.070 に答える
0

これを試しましたか:

$(function() {
    if ($('#<%= DDStatusList.ClientID %>').change(function() {
        var statusval2 = $("#SampleContent_Tabs_TabPanel3_DDStatusList").val();
        if (statusval2 == 4) {
            $('#<%= ShowLinkButton.ClientID%>').html("Show Accordion");
            //$find('<%= MyAccordion.ClientID%>').show();
            showAccordionPane('<%= MyAccordion.ClientID%>', 1);
        }
        else {
            $('#<%= ShowLinkButton.ClientID%>').html("");
            //$find('<%= MyAccordion.ClientID%>').hide();
            hideAccordionPane('<%= MyAccordion.ClientID%>', 1);
        }
    }));
});

// hides pane 1
function hideAccordionPane(AccordionCtrl, paneno) {
    $find(AccordionCtrl).get_Pane(paneno).header.style.display = "none";
    $find(AccordionCtrl).get_Pane(paneno).content.style.display = "none";
}​

// shows pane 1
function showAccordionPane(AccordionCtrl, paneno) {
    $find(AccordionCtrl).get_Pane(paneno).header.style.display = "block";
    $find(AccordionCtrl).get_Pane(paneno).content.style.display = "block";
}​
于 2012-12-04T16:47:25.940 に答える