Como preencher um menu suspenso em cascata com o JQuery

Eu tenho o seguinte problema:

Eu comecei a criar um formulário com HTML e JS e há dois Dropdowns (Country e City). Agora, quero tornar esses dois dinâmicos com o JQuery, para que apenas as cidades dos países selecionados sejam visíveis.

Eu comecei com alguns JS básico que funcionou bem, mas faz alguns problemas no IE. Agora estou tentando converter meu JS para JQuery para uma melhor compatibilidade.

Meu JS original é assim:

function populate(s1, s2) {
    var s1 = document.getElementById(s1);
    var s2 = document.getElementById(s2);
    s2.innerHTML = "";
    if (s1.value == "Germany") {
        var optionArray = ["|", "magdeburg|Magdeburg", "duesseldorf|Duesseldorf", "leinfelden-echterdingen|Leinfelden-Echterdingen", "eschborn|Eschborn"];
    } else if (s1.value == "Hungary") {
        var optionArray = ["|", "pecs|Pecs", "budapest|Budapest", "debrecen|Debrecen"];
    } else if (s1.value == "Russia") {
        var optionArray = ["|", "st. petersburg|St. Petersburg"];
    } else if (s1.value == "South Africa") {
        var optionArray = ["|", "midrand|Midrand"];
    } else if (s1.value == "USA") {
        var optionArray = ["|", "downers grove|Downers Grove"];
    } else if (s1.value == "Mexico") {
        var optionArray = ["|", "puebla|Puebla"];
    } else if (s1.value == "China") {
        var optionArray = ["|", "beijing|Beijing"];
    } else if (s1.value == "Spain") {
        var optionArray = ["|", "barcelona|Barcelona"];
    }

    for (var option in optionArray) {
        var pair = optionArray[option].split("|");
        var newOption = document.createElement("option");
        newOption.value = pair[0];
        newOption.innerHTML = pair[1];
        s2.options.add(newOption);
    }
};

e aqui meu jquery:

http://jsfiddle.net/HvXSz/

Eu sei que é muito simples, mas não consigo ver a madeira para as árvores.

questionAnswers(5)

yourAnswerToTheQuestion