Basicamente seria hacer el primer select con un evento onchange Te dejo este código que te pueda servir de refencia
<select id="obj">
<option>--- Objeto ---</option>
<option value=-1> item -1</option>
<option value=1> item 1</option>
<option value=2> item 2</option>
<option value=3> item 3</option>
</select>
<select id="el" width="50px">
<option>--- SubElemento ---</option>
</select>
<script>
sel = document.querySelector("#obj");
sel.addEventListener("change" , function(){
sub = document.querySelector("#el");
sub.innerHTML="";
//Datos para el segundo select de ejemplo
switch(sel.value){
case "-1":
array=["-1" ,"-2 ","-3","-4" ];
break;
case "1":
array=["1" ,"2 ","3","4" ];
break;
case "2":
array=["uno","dos","tres"];
break;
case "3":
array=["UNO","DOS","TRES"];
break;
default:
console.log(sel.value);
array=["--- SubElemento ---"];
}
console.log(array);
//Rellena el Select segundo a traves de un array
selectFill(sub, array);
});
//Esta funcion te rellena el Select Secundario
function selectFill(sel, array){
for(v in array){
var option = document.createElement("option");
option.text = array[v];
sel.add(option);
}
}
</script>
Espero que te ayude.