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 に答える