- Posts: 39
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
boton agregar y eliminar filas en matriz numeros
- blacho
- Topic Author
- Offline
- Junior Member
Less
More
1 week 4 days ago #263396
by blacho
boton agregar y eliminar filas en matriz numeros was created by blacho
Ayúdenos a ayudarle y rellene los siguientes campos:.
Su versión de LimeSurvey:6.2.11
Servidor propio o LimeSurvey Cloud: propio
Plantilla de diseño utilizada: fruity
==================
Buenas tardes necesito añadir botones de agregar y eliminar filas a una matriz números siguiendo las condiciones de cada fila, podrían ayudarme a agregar los botones ya que los agrego teniendo en cuenta otros ejemplos que tengo pero no funciona.
Aqui dejo mi lss, si me pueden enviar otro lss mejor o codigo modificado
Su versión de LimeSurvey:6.2.11
Servidor propio o LimeSurvey Cloud: propio
Plantilla de diseño utilizada: fruity
==================
Buenas tardes necesito añadir botones de agregar y eliminar filas a una matriz números siguiendo las condiciones de cada fila, podrían ayudarme a agregar los botones ya que los agrego teniendo en cuenta otros ejemplos que tengo pero no funciona.
Aqui dejo mi lss, si me pueden enviar otro lss mejor o codigo modificado
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13058
- Thank you received: 4021
1 week 4 days ago #263426
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic boton agregar y eliminar filas en matriz numeros
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- blacho
- Topic Author
- Offline
- Junior Member
Less
More
- Posts: 39
- Thank you received: 0
1 week 3 days ago #263451
by blacho
Replied by blacho on topic boton agregar y eliminar filas en matriz numeros
Si puedes ver la matriz primera tiene unas condiciones de números, si copio un número en máximo de días me aparecerá en cartera al igual que si copio uno en mínimo de días.
Quiero que los botones vayan agregando más filas con esas condiciones. Ya que, puede que me sirva el botón de agregar pero me cancela las condiciones a los números
Quiero que los botones vayan agregando más filas con esas condiciones. Ya que, puede que me sirva el botón de agregar pero me cancela las condiciones a los números
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13058
- Thank you received: 4021
1 week 1 day ago #263532
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic boton agregar y eliminar filas en matriz numeros
No veo nigun problema.
He usado este script sin comparar con tuyo.
He usado este script sin comparar con tuyo.
Code:
<script> $(document).ready(function() { // A function to add or remove rows of an Array (Multi Flexible)(Text) question function varLengthArray(qID) { if ($('#question'+qID+'').length > 0) { // The HTML content of the Add/Remove elements - modify as you wish var addContent = '[ + ]'; var removeContent = '[ - ]'; // Create the Add and Remove elements & insert them // Adjust colors by using other bootstrap classes // „btn-primary“, „btn-success“, „btn-info“, „btn-warning“, „btn-danger“ var el1 = document.createElement('div'); el1.setAttribute('id','addButton'+qID); el1.setAttribute('class','btn btn-success'); document.body.appendChild(el1); var el2 = document.createElement('div'); el2.setAttribute('id','removeButton'+qID); el2.setAttribute('class','btn btn-danger'); document.body.appendChild(el2); // Move them to after the array $( 'div#addButton'+qID ).appendTo($( '#question' + qID + ' table.ls-answers' ).parent()); $( 'div#removeButton'+qID ).appendTo($( '#question' + qID + ' table.ls-answers' ).parent()); // Insert their HTML $( 'div#addButton'+qID ).html( addContent ); $( 'div#removeButton'+qID ).html( removeContent ); // Style the elements - you can modify here if you wish $( 'div#addButton'+qID ).css({ 'margin':'10px 0 10px 10px', 'padding':'1px', 'text-align':'center', 'width':'auto', 'cursor':'pointer', 'float':'left' }); $( 'div#removeButton'+qID ).css({ 'margin':'10px 0 10px 10px', 'padding':'1px', 'text-align':'center', 'width':'auto', 'cursor':'pointer', 'float':'left' }); // Initially hide the Remove element $( 'div#removeButton'+qID ).hide(); // Call the functions below when clicked $( 'div#addButton'+qID ).click(function (event) { addRow(qID); }); $( 'div#removeButton'+qID ).click(function (event) { removeRow(qID); }); // Function to add a row, also shows the Remove element and hides the //Add element if all rows are shown function addRow(qID) { var arrayRow = '#question' + qID + ' table.ls-answers tr.subquestion-list'; var rowCount = $( arrayRow ).size() - 1; $( arrayRow + '[name="hidden"]:first' ).attr('name', 'visible').show(); $( 'div#removeButton'+qID ).show(); if ( $( arrayRow + ':eq(' + rowCount + ')' ).attr('name') == 'visible' ) { $( 'div#addButton'+qID ).hide(); } } // Function to remove a row, also clears the contents of the removed row, // shows the Add element if the last row is hidden and hides the Remove // element if only the first row is shown function removeRow(qID) { var arrayRow = '#question' + qID + ' table.ls-answers tr.subquestion-list'; var rowCount = $( arrayRow ).size() - 1; $( arrayRow + '[name="visible"]:last input[type="text"]' ).val(''); $( arrayRow + '[name="visible"]:last' ).attr('name', 'hidden').hide(); $( 'div#addButton'+qID ).show(); if ( $( arrayRow + ':eq(1)' ).attr('name') == 'hidden' ) { $( 'div#removeButton'+qID ).hide(); } } // Just some initialization stuff var arrayRow = '#question' + qID + ' table.ls-answers tr.subquestion-list'; var rowCount = ''; // Initially hide all except first row or any rows with populated inputs $( arrayRow ).each(function(i) { if ( i > 0 ) { // We also need to give the hidden rows a name cause IE doesn't // recognize jQuery :visible selector consistently $( this ).attr('name', 'hidden').hide(); $('input[type=text]', this).each(function(i) { if ($(this).attr('value') != '') { $(this).parents('tbody:eq(0)').attr('name', 'visible').show(); $( 'div#removeButton'+qID ).show(); } }); rowCount = i; } }); } } // Call the function with a question ID varLengthArray({QID}); }); </script>
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.