function CascadeDropDowns(parentClass, childClass, action, callback) {
var DropDownId = $(parentClass + " option:selected").val();
$.ajax({
url: "/site/" + action,
data: { DropDownId: DropDownId },
dataType: "json",
type: "POST",
error: function() {
alert("An error occurred.");
},
success: function (data) {
var items = "";
$.each(data, function (i, item) {
items += "<option value=\"" + item.Value + "\">" + item.Text + "</option>";
});
$(childClass).html(items);
$(childClass)[0].selectedIndex = 0;
callback();
}
});
}
$(document).ready(function() {
// Populates all child drop downs on load
var callback = function() {
CascadeDropDowns(".ConfigGroupDDL", ".ConfigNameDDL", "GetParameters");
};
CascadeDropDowns(".DeviceTypeDDL", ".ConfigGroupDDL", "GetGroups", callback);
// Populates all child drop downs parent change
$(".DeviceTypeDDL").change(function() {
var callback = function() {
CascadeDropDowns(".ConfigGroupDDL", ".ConfigNameDDL", "GetParameters");
};
CascadeDropDowns(".DeviceTypeDDL", ".ConfigGroupDDL", "GetGroups", callback);
});
$(".ConfigGroupDDL").change(function() {
CascadeDropDowns(".ConfigGroupDDL", ".ConfigNameDDL", "GetParameters");
});
});
に「コールバック関数ではありません」これは罰金、右の順にカスケードドロップダウンを実行しますが、Firefoxのデバッガはエラーを示し、すなわち、警告をスローし、デバッグする場合は、id liekを尋ねます。Javascriptのコールバック関数がエラーをスローFirefoxの
何かアドバイスは、あなたが常にそのメソッドにコールバックを渡していないので、それがある
'コールバックはで定義されていない
CascadeDropDowns(".ConfigGroupDDL", ".ConfigNameDDL", "GetParameters");
あなたはoptionnal引数として
callback
引数を処理するために、あなたの関数を変更する必要がありますその範囲 '。 'var callback'を' window.callback'に変更し、それが動作するかどうか確認してください。 – Jashwant@Jashwantスコープとは関係ありません。 – epascarello