1

我在一个 asp 页面上有 2 个下拉列表。

如果用户更改了第一个下拉列表的选定索引,则设置DDL2.selectedindex = DDL1.Selectedindex

除了分别切换 DDL1 和 DDL2 之外,执行相同的逻辑。我让这两个对象都从相同的对象列表中填充(只是为每个对象设置了不同的属性),并且我在查询中有一个 order by 子句以确保数据保持同步。我的问题是如何让这个逻辑在 javascript 中工作?我目前的方法是这样的..

Accounts.Attributes.Add("onBlur", Customers.SelectedIndex = Accounts.SelectedIndex)
Customers.Attributes.Add("onBlur", Accounts.SelectedIndex = Customers.SelectedIndex)

此代码不起作用,但演示了我正在拍摄的内容。当第一个选择的 ddl 失去焦点时,填充另一个 ddl(设置选定的索引)。任何帮助都会很棒!


有人可以看到我在这里做错了什么吗?

            $("[id$=ddlStandardAcctNo]").change(function () {

            var acc = $("[id$=ddlStandardAcctNo]");
            var cust = $("[id$=ddlCustomerName]");
            cust.selectedindex = acc.selectedindex;
        });

它编译但不起作用...... :(这些下拉菜单位于asp gridview中。


看了之后,我正在尝试这样做..

        $("[id$=ddlStandardAcctNo]").blur(function () {

        var acc = document.getElementById('<%=ddlStandardAcctNo.ClientID %>');
        var cust = document.getElementById('<%=ddlCustomerName.ClientID %>');
        cust.selectedindex = acc.selectedindex
    });

    $("[id$=ddlCustomerName]").blur(function () {

        var acc = document.getElementById('<%=ddlStandardAcctNo.ClientID %>');
        var cust = document.getElementById('<%=ddlCustomerName.ClientID %>');
        acc.selectedindex = cust.selectedindex
    });

问题是我从不使用 document.ready ,因为下拉列表位于网格视图中。当我遇到这样的问题时,我实际上只是在学习 javascript/jquery,所以请随意破解知识鞭子大声笑。

4

1 回答 1

1

我终于想通了!!!!jquery 先验的解决方案如下

                        $("[id$=ddlStandardAcctNo]").change(function () {
                        $("[id$=ddlCustomerName]").attr("selectedIndex", this.selectedIndex);
                    });

                    $("[id$=ddlCustomerName]").change(function () {
                        $("[id$=ddlStandardAcctNo]").attr("selectedIndex", this.selectedIndex);
                    });
于 2012-12-06T18:26:17.960 回答