| |||
clonar combobox junto con cajas de texto buena día, quisiera ayuda, pues estoy programando una pagina donde se quiere agregar registros, tengo 2 cajas de text donde se pone el nombre y datos al registro y a un lado 4 combobox para registrar horarios, y al final antes de guardar tengo un boton de + para agregar un registro(aqui es donde necesito ayuda) |
| |||
Respuesta: clonar combobox junto con cajas de texto tengo este script <script type="text/javascript"> //cambia los name de los inputs actualizaName = function ($input) { iNombre = '#reporte_medicamento_medicamento_nombre'; iDosis = '#reporte_medicamento_medicamento_dosis'; shora1 = '#reporte_medicamento_medicamento_hora1_hr'; sminutos1 = '#reporte_medicamento_medicamento_hora1_min'; shora2 = '#reporte_medicamento_medicamento_hora2_hr'; sminutos2 = '#reporte_medicamento_medicamento_hora2_min'; shora3 = '#reporte_medicamento_medicamento_hora3_hr'; sminutos3 = '#reporte_medicamento_medicamento_hora3_min'; shora4 = '#reporte_medicamento_medicamento_hora4_hr'; sminutos4 = '#reporte_medicamento_medicamento_hora4_min'; for(var i = 1; i <= $input ; i++) { Nombre = 'reporte_medicamento_medicamento'; Dosis = 'reporte_medicamento_medicamento'; hora1 = 'reporte_medicamento_medicamento'; minutos1 = 'reporte_medicamento_medicamento'; hora2 = 'reporte_medicamento_medicamento'; minutos2 = 'reporte_medicamento_medicamento'; hora3 = 'reporte_medicamento_medicamento'; minutos3 = 'reporte_medicamento_medicamento'; hora4 = 'reporte_medicamento_medicamento'; minutos4 = 'reporte_medicamento_medicamento'; Nombre += i + "_nombre"; Dosis += i + "_dosis"; hora1 += i + "_hora1_hr"; minutos1 += i + "_hora1_min"; hora2 += i + "_hora2_hr"; minutos2 += i +"_hora2_min"; hora3 += i +"_hora3_hr"; minutos3 += i +"_hora3_min"; hora4 += i +"_hora4_hr"; minutos4 += i +"_hora4_min"; var input = $('#input'+i); input.find(iNombre).attr("name",Nombre); input.find(iDosis).attr("name",Dosis); input.find(shora1).attr("name",hora1); input.find(sminutos1).attr("name",minutos1); input.find(shora2).attr("name",hora2); input.find(sminutos2).attr("name",minutos2); input.find(shora3).attr("name",hora3); input.find(sminutos3).attr("name",minutos3); input.find(shora4).attr("name",hora4); input.find(sminutos4).attr("name",minutos4); } } $(document).ready(function() { /* $('#btnAdd').click(function() { var num = $('.clonedInput').length; // how many "duplicatable" input fields we currently have var newNum = new Number(num + 1); // the numeric ID of the new input field being added iNombre = '#reporte_medicamento_medicamento_nombre'; iDosis = '#reporte_medicamento_medicamento_dosis'; shora1= '#reporte_medicamento_medicamento1_hora1_hr'; sminutos1='#reporte_medicamento_medicamento1_hora1 _min'; shora2 = '#reporte_medicamento_medicamento_hora2_hr'; sminutos2 = '#reporte_medicamento_medicamento_hora2_min'; shora3 = '#reporte_medicamento_medicamento_hora3_hr'; sminutos3 = '#reporte_medicamento_medicamento_hora3_min'; shora4 = '#reporte_medicamento_medicamento_hora4_hr'; sminutos4 = '#reporte_medicamento_medicamento_hora4_min'; // create the new element via clone(), and manipulate it's ID using newNum value var newElem = $('#input' + num).clone().attr('id', 'input' + newNum); var strNewElement = newElem.find('input').text(); // manipulate the name/id values of the input inside the new element newElem.children(':first').attr('id', 'name' + newNum).attr('name', 'name' + newNum); // insert the new element after the last "duplicatable" input field //limpia el texto del nuevo input $('#input' + num).after(newElem); $('#input' + newNum).find(iNombre).attr("value",""); $('#input' + newNum).find(iDosis).attr("value",""); $('#input' + newNum).find(shora1).attr("value",""); // enable the "remove" button $('#btnDel').removeAttr("disabled"); // business rule: you can only add 4 names if (newNum == 4) $('#btnAdd').attr('disabled','disabled'); //cambia los nombres de los nuevos inputs y selects actualizaName(newNum); });*/ $('#btnDel').click(function() { var num = $('.clonedInput').length; // how many "duplicatable" input fields we currently have $('#input' + num).remove(); // remove the last element // enable the "add" button $('#btnAdd').removeAttr("disabled"); // if only one element remains, disable the "remove" button if (num-1 == 1) $('#btnDel').attr('disabled','disabled'); }); $('#btnDel').attr('disabled','disabled'); }); </script> pero cuando clona todo no me deja seleccionar las horas quiero saber como puedo hacerle para que el segundo registro que quiero llenar me deje en blanco las horas, puesto el codigo que tengo solo me deja en blanco los campos de texto |
| ||||
Respuesta: clonar combobox junto con cajas de texto Puedes posostear el codigo html? para poder probarlo?
__________________ Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta. |
| |||
Respuesta: clonar combobox junto con cajas de texto <div id="medicamento"> <div class="tt">Medicamento programado</div> <div class="nametx"><?php echo(nombre_alumno($aid)); ?></div> <form id="myForm" method="post" name="forma" action="medicamento.php?accion=s" onSubmit="return checkform(this);" enctype="multipart/form-data"> <input type="hidden" id="num_campos" name="num_campos" value="0" /> <input type="hidden" id="cant_campos" name="cant_campos" value="0" /> <input name="aid" type="hidden" onkeypress="javascript: return utils.isString(event);" value="<?php echo $aid; ?>"> <div id="input1" style="margin-bottom: 15px;" class="clonedInput"> <table cellpadding="0" cellspacing="2" border="0"> <tr> <td> Nombre </td> <td> Dosis </td> <td width="100"> Hora </td> <td width="100"> Hora </td> <td width="100"> Hora </td> <td width="100"> Hora </td> </tr> <tr> <td> <input id="reporte_medicamento_medicamento_nombre" type="text" name="reporte_medicamento_medicamento1_nombre" onkeypress="javascript: return utils.isString(event);" value="" style="width: 100px;"> </td> <td> <input id="reporte_medicamento_medicamento_dosis" type="text" name="reporte_medicamento_medicamento1_dosis" onkeypress="javascript: return utils.isString(event);" value="" style="width: 25px;"> </td> <td> <select id="reporte_medicamento_medicamento_hora1_hr" name="reporte_medicamento_medicamento1_hora1_hr" class="styled"> <option selected value="00">00</option> <?php for ($i=1; $i<=24; $i++) { if ($i<10) { $corrigecero='0'; } else { $corrigecero=''; } echo '<option value="'.$corrigecero.$i.'">'.$corrigecero.$i.'</option>'; echo $corrigecero.$i; } ?> </select> : <select id="reporte_medicamento_medicamento_hora1_min" name="reporte_medicamento_medicamento1_hora1_min" class="styled"> <option selected value="00">00</option> <?php for ($i=1; $i<=59; $i++) { if ($i<10) { $corrigecero='0'; } else { $corrigecero=''; } echo '<option value="'.$corrigecero.$i.'">'.$corrigecero.$i.'</option>'; } ?> </select> </td> <td> <select id="reporte_medicamento_medicamento_hora2_hr" name="reporte_medicamento_medicamento1_hora2_hr" class="styled"> <option selected value="00">00</option> <?php for ($i=1; $i<=24; $i++) { if ($i<10) { $corrigecero='0'; } else { $corrigecero=''; } echo '<option value="'.$corrigecero.$i.'">'.$corrigecero.$i.'</option>'; } ?> </select> : <select id="reporte_medicamento_medicamento_hora2_min" name="reporte_medicamento_medicamento1_hora2_min" class="styled"> <option selected value="00">00</option> <?php for ($i=1; $i<=59; $i++) { if ($i<10) { $corrigecero='0'; } else { $corrigecero=''; } echo '<option value="'.$corrigecero.$i.'">'.$corrigecero.$i.'</option>'; } ?> </select> </td> <td> <select id="reporte_medicamento_medicamento_hora3_hr" name="reporte_medicamento_medicamento1_hora3_hr" class="styled"> <option selected value="00">00</option> <?php for ($i=1; $i<=24; $i++) { if ($i<10) { $corrigecero='0'; } else { $corrigecero=''; } echo '<option value="'.$corrigecero.$i.'">'.$corrigecero.$i.'</option>'; } ?> </select> : <select id="reporte_medicamento_medicamento_hora3_min" name="reporte_medicamento_medicamento1_hora3_min" class="styled"> <option selected value="00">00</option> <?php for ($i=1; $i<=59; $i++) { if ($i<10) { $corrigecero='0'; } else { $corrigecero=''; } echo '<option value="'.$corrigecero.$i.'">'.$corrigecero.$i.'</option>'; } ?> </select> </td> <td> <select id="reporte_medicamento_medicamento_hora4_hr" name="reporte_medicamento_medicamento1_hora4_hr" class="styled"> <option selected value="00">00</option> <?php for ($i=1; $i<=24; $i++) { if ($i<10) { $corrigecero='0'; } else { $corrigecero=''; } echo '<option value="'.$corrigecero.$i.'">'.$corrigecero.$i.'</option>'; } ?> </select> : <select id="reporte_medicamento_medicamento_hora4_min" name="reporte_medicamento_medicamento1_hora4_min" class="styled"> <option selected value="00">00</option> <?php for ($i=1; $i<=59; $i++) { if ($i<10) { $corrigecero='0'; } else { $corrigecero=''; } echo '<option value="'.$corrigecero.$i.'">'.$corrigecero.$i.'</option>'; } ?> </select> </td> </tr> </table> </div> <div id="agregar_eliminar_btns"> <input type="button" id="btnAdd" value=" + " onclick="xajax_agregarFila(xajax.getFormValues('pr oyecto'));" /> <input type="button" id="btnDel" value=" - " /> </div> <table> <tr> <td colspan="6"> Observaciones<br /> <textarea id="reporte_medicamento_medicamento1_observaciones " name="reporte_medicamento_medicamento1_observacion es" rows="2" cols="" style="width: 550px;"></textarea> </td> </tr> </table> <input name="Guardar" type="submit" id="Guardar" value="Guardar"> </form> </div> |
| ||||
Respuesta: clonar combobox junto con cajas de texto Bueno, veamos si entendí: El problema es que al clonar los campos, los select de las horas y los minutos no quedan en blanco? Porque he probado el código y me funciona perfectamente. Al clonar los campos todos quedan en blanco, y puedo seleccionar las horas y minutos. Posteo el código que yo probé, puesto que tu usas algunas funciones que yo no tengo:
Código PHP:
Ver original
__________________ Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta. |
| |||
Respuesta: clonar combobox junto con cajas de texto pues ami cuando lleno lo combos y cajas de texto y le doy en el + me deja las cajas en blanco pero los combos los deja en la hora del primer registro y no me deja seleccionar una hora diferente, lo que necesito es que me limpie los combobox y me deje selecionar otra hora |
| ||||
Respuesta: clonar combobox junto con cajas de texto Prueba el ejemplo que yo te pase así como te lo mande, a ver si te sigue pasando el problema. Porque en mi código saque una función que no posteaste que es xajax_agregarFila que tal vez es la que tiene problemas, y te genera otros problemas en el resto del javascript
__________________ Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta. |
Etiquetas: |