El problema es que aveces no hay 4 niveles, por lo que no se puede llenar los 4 y queria que los sobrantes se ocultaran.
El codigo que tengo esta echo para que siempre quede la opcion "Select", tenga o no otras opciones el select. Lo que quiero es que cuando solo esta el Select sin ningun otra opcion se oculte el selector (<option></option)
Este es el js:
Código javascript:
Ver original
var inner_select = 'Select'; var value_select = '0.5'; var loading_select = 'Loading'; var select_id = 'c_id'; var select_value = 'c_name'; function getJson(uri,id,param,next) { new Ajax.Request( uri, { method: 'POST', parameters: { id: param }, onLoading: function() { if ($(id) == '0.5') { $(next).hide(); } else { $(next).show(); $(id).update('').disable(); createOpt(id,value_select,loading_select); } }, onSuccess: function(json) { $(id).enable(); json = json.responseText; getOpt(json.evalJSON(true),id); } }); } function getOpt(json,id) { $(id).update(''); createOpt(id,value_select,inner_select); json.each( function(obj) { createOpt(id,obj[select_id],obj[select_value]); } ); } function createOpt(id,value,inner) { var opt = document.createElement('option'); opt.value = value; opt.innerHTML = inner; $(id).appendChild(opt); } function selectHide(id) { $(id).hide(); }
Código html:
Ver original
<body> <select id="0level" name="0level"> </select> <select id="1level" name="1level"> </select> <select id="2level" name="2level"> </select> <select id="3level" name="3level"> </select> </body> <script type="text/javascript"> getJson('<?php echo base_url(); ?>test/get_categoriesPrototype','0level','','0level'), selectHide('1level'), selectHide('2level'), selectHide('3level') $('0level').observe('change',function(el){ getJson('<?php echo base_url(); ?>test/get_subcategoriesPrototype','1level',$F('0level'),'1level') }) $('1level').observe('change',function(el){ getJson('<?php echo base_url(); ?>test/get_subcategoriesPrototype','2level',$F('1level'),'2level') }) $('2level').observe('change',function(el){ getJson('<?php echo base_url(); ?>test/get_subcategoriesPrototype','3level',$F('2level'),'3level') }) </script>