0

我有一个带有许多下拉框和一些 jQuery 的页面,它们将根据前面下拉框的选择来更改正在进行的下拉菜单的值。

我的代码在这里:

function changeDropDown(select, options) {
            var dropdown = $("select#" + select + "");
            dropdown.empty();    
            dropdown.load("changeDropdown.php?dd=" + select + "&id=" + $('#' + options + '').val());
            }

然后调用它,我只需这样做:

$('#pdi-Process').change(function() {
            changeDropDown('pdi-Condition','pdi-Process');
            });

这有效,并将根据在前面的下拉菜单中选择的选项的值更改指定下拉列表中的选项。

我的问题是这些下拉菜单链,只有当有人更改下拉菜单的值时,此代码才会起作用。有时用户想要的选项是第一个出现的选项,或者可能是唯一可用的选项。在这些用户无法更改选项的情况下,代码将无法工作。

使用我多年的 Web 开发经验,我得出的结论是,问题可能是由于 .change() 造成的,但是我可以使用什么来提供相同的功能,同时在无法更改选项时允许它工作?有没有一种优雅的方法可以做到这一点,还是我应该简单地为每个列表添加一个空白选项,以便用户始终可以更改值?

4

1 回答 1

0

只需触发.load()回调的更改:

dropdown.load("changeDropdown.php?dd=" + select + "&id=" + $('#' + options + '').val(), function(){
    dropdown.trigger('change');
});
于 2013-05-30T15:36:07.587 回答