无回发的jquery更改事件

无回发的jquery更改事件,jquery,asp.net,Jquery,Asp.net,我有一个列表框,在一个特定的选择值上,我想显示一个下拉列表,在从下拉列表中选择一个值时,我想显示另一个下拉列表 我使用jquery实现了这一点,但下拉列表仅在回发后显示。如何避免回发 这是我的jquery代码 <script type="text/javascript"> $(document).ready(function () { if ($('#<%=under_list1.ClientID %> option:selected').val() == 0)

我有一个列表框,在一个特定的选择值上,我想显示一个下拉列表,在从下拉列表中选择一个值时,我想显示另一个下拉列表

我使用jquery实现了这一点,但下拉列表仅在回发后显示。如何避免回发

这是我的jquery代码

<script type="text/javascript">
$(document).ready(function () {
    if ($('#<%=under_list1.ClientID %> option:selected').val() == 0) {
        $("#ddl_nature1").show();
        $("#ddl_gross1").hide();
        if ($('#<%=ddl_nature.ClientID %> option:selected').val() == 'I', $('#<%=ddl_nature.ClientID %> option:selected').val() == 'E') {
            $("#ddl_gross1").show();

        }
        else {
            $("#ddl_gross1").hide();

        }
    }
    else {
        $("#ddl_nature1").hide();
        $("#ddl_gross1").hide();
    }
});

在_list1下是我的列表框id,ddl _nature1是我的第一个下拉列表,ddl _gross1是我的第二个下拉列表。

您需要在下拉列表更改中添加相同的检查。我在这里把dropdownlist的更改放在一个公共函数上,并将其称为dropdownlist更改,以及DOM就绪后的更改

$('#<%=ddl_nature.ClientID %>').change(function() {
  ChangeViews();
});


$(document).ready(function () {
    ChangeViews();
});

function ChangeViews()
{
    if ($('#<%=under_list1.ClientID %> option:selected').val() == 0) {
        $("#ddl_nature1").show();
        $("#ddl_gross1").hide();
        if ($('#<%=ddl_nature.ClientID %> option:selected').val() == 'I', $('#<%=ddl_nature.ClientID %> option:selected').val() == 'E') {
            $("#ddl_gross1").show();
        }
        else {
            $("#ddl_gross1").hide();
        }
    }
    else {
        $("#ddl_nature1").hide();
        $("#ddl_gross1").hide();
    }
}

为什么不使用Ajax页面加载功能呢。As pageLoad函数将在每次回发后调用

   function pageLoad()
    {
      if ($('#<%=under_list1.ClientID %> option:selected').val() == 0) {
            $("#ddl_nature1").show();
            $("#ddl_gross1").hide();
            if ($('#<%=ddl_nature.ClientID %> option:selected').val() == 'I', $('#<%=ddl_nature.ClientID %> option:selected').val() == 'E') {
                $("#ddl_gross1").show();

            }
            else {
                $("#ddl_gross1").hide();

            }
        }
        else {
            $("#ddl_nature1").hide();
            $("#ddl_gross1").hide();
        }

}

从代码隐藏和aspx页面发布代码。您可以在下拉列表中将AutoPostBack设置为false。我仍然需要刷新页面,以便在从列表框中选择特定值时查看第二个下拉列表,并再次刷新页面查看第三个下拉列表在从第二个下拉列表中选择值时查看第三个下拉列表尝试了很多次之后,我仍然需要在选择后重复刷新页面列表框中的值,以便获得第二个和第三个下拉列表。@asifa我需要代码的htlp部分来完全理解您的要求。在这里,我知道你喜欢不回邮就这样做。我不想回邮。如果我从列表框中选择某个值,比如说1,那么应该显示下拉列表,从下拉列表中选择值1时,我想显示第三个下拉列表。下拉列表显示正确,但仅在页面刷新时显示。我不想反复刷新或加载页面以显示相应的下拉列表