Filtra tre caselle di selezione in base alle selezioni precedenti

Sto cercando di cambiare le caselle di selezione in base a ciò che è stato precedentemente selezionato. Ho lavorato per il primo a cambiare, ma non il terzo. Se qualcuno può aiutarmi a fare un terzo lavoro sarebbe bello.

http://jsfiddle.net/Ze5AA/21/

Ecco il js che sto usando:

$("#CAT_Custom_496270").change(function() { if($(this).data('options') == undefined){ $(this).data('options',$('#CAT_Custom_495029 option').clone()); } var id = $(this).val(); var options = $(this).data('options').filter('[value*=' + id + ']'); $('#CAT_Custom_495029').html(options); }); $("#CAT_Custom_495029").change(function() { if($(this).data('options') == undefined){ $(this).data('options',$('#CAT_Custom_495038 option').clone()); } var id = $(this).val(); var options = $(this).data('options').filter('[value*=' + id + ']'); $('#CAT_Custom_495038').html(options); }); 

    Racchiude il value attribute filtro value attribute valore tra virgolette, poiché c’è uno spazio nei valori.

     var options = $(this).data('options').filter('[value*="' + id + '"]'); 

    Violino

    i tuoi valori non sono coerenti per ciò che stai controllando a causa degli spazi.

    puoi racchiuderlo tra virgolette, anche se otterrei solo il valore che ti serve (i primi 3 caratteri) per mantenerlo più pulito

    è necessario dividere l’assegno, aggiungerei un delimitatore per renderlo semplice.

      //html example from menu 2   //note the colon after CSD //html from menu 3    //note the color again //the java var id = $(this).val().split(":"); //makes a 2 value array split at the colon var options = $(this).data('options').filter('[value*=' + id[0] + ']'); //we want the first array value (before the colon)