Hola a todos,
estoy haciendo una aplicación en entrono WEB. La aplicación son una serie de pantallas, en cada pantalla hay unos "inputs" sobre los que interactuar, pueden ser botones, text o select.
Cada vez que se carga la página llamo a una función para que vaya a una base de datos y me coja los inputs de esa pantalla. Los inputs y sus características son pasados a la vista como un array. En la vista recorro este array y voy haciendo que se "dibujen" en pantalla.
El problema lo tengo con las opciones de los selectores que no soy capaz de que funcione. Soy capaz de crear el selector, pero vacío. No se como hacer para meterle opciones, ya que no sé el número ni el valor de cada una de ellas.
Os dejo el código de la vista que es lo importante.
Código PHP:
<script type="text/javascript">
$(document).ready(function()
{
$('input').change(function()
{
var minvalue = parseFloat($(this).attr('minvalue')),
maxvalue = parseFloat($(this).attr('maxvalue')),
value = parseFloat($(this).val());
if(value<maxvalue || value===maxvalue)
{
if(value===minvalue || value>minvalue)
{
$(this).addClass('correct');
$(this).removeClass('incorrect');
}
else
{
$(this).addClass('incorrect');
$(this).removeClass('correct');
}
}
else
{
$(this).addClass('incorrect');
$(this).removeClass('correct');
}
});
$('#nextArrow').click(function(){
$("#module input").each(function (index)
{
var name=$(this).attr('name');
var value=$(this).val();
$.ajax({ url : base_url + 'main/set_datos_array',
data : { 'name' : name, 'value':value},
type : 'POST',
async : false,
dataType : 'json',
error : function() {
showError("Error while retrieving project info.");
}
});
});
});
$('button.okbutton').click(function(){
$(this).toggleClass('pressed');
if($(this).hasClass('pressed'))
$(this).html('NOK');
else
$(this).html('OK');
});
});
</script>
<h1>Unidad <?= $unit.' '.$this->session->userdata('status')?></h1>
<div id="module" style="z-index:1; background-image: url('<?=base_url().$route?>')">
<div id="infopopup">
<span>Valor 1</span>
<span>Valor 2</span>
<span>Valor 3</span>
</div>
<?php $i=0;
foreach($inputs as $input)
{
if($input['type']==='text')
echo '<input type="'.$input['type'].'" class="default '.$input['class'].'" value="'.$input['defaultvalue'].'" name="'.$input['name'].'" maxvalue="'.$input['maximvalue'].'" minvalue="'.$input['minimvalue'].'" style="margin-top:'.$input['margintop'].'px;margin-left:'.$input['marginleft'].'px; width:'.$input['width'].'px; height:'.$input['height'].'px; position:'.$input['position'].'">';
else if($input['type']==='button')
echo '<button name="'.$input['name'].'" class="default '.$input['class'].'" style="margin-top:'.$input['margintop'].'px;margin-left:'.$input['marginleft'].'px; width:'.$input['width'].'px; height:'.$input['height'].'px; position:'.$input['position'].'">'.$input['defaultvalue'].'</button>';
else if ($input['type']==='select')
{
$selectid = $input['name'];
echo '<select name="'.$input['name'].'" id="'.$input['name'].'" class="default '.$input['class'].'" style="margin-top:'.$input['margintop'].'px;margin-left:'.$input['marginleft'].'px; width:'.$input['width'].'px; height:'.$input['height'].'px; position:'.$input['position'].'"></select>';
}
}?>
</div>
La variable $inputs es el array con todos los inputs que corresponden a esa pantalla.
Muchas gracias y espero que me podais ayudar.