使用jQuery更改下拉列值不能仅使用一个值

时间:2013-05-30 15:32:49

标签: jquery drop-down-menu

我有一个页面,其中包含许多下拉框和一些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(),但是我可以使用什么来提供相同的功能,但也可以在无法更改选项时使用它?有没有一种优雅的方式来做到这一点,或者我只是在每个列表中添加一个空白选项,以便用户可以随时更改值?

1 个答案:

答案 0 :(得分:0)

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

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