Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Serializar array y incluirlo en input

Estas en el tema de Serializar array y incluirlo en input en el foro de Jquery en Foros del Web. Muy buenas, lo primero gracias por vuestro tiempo y paciencia conmigo en Jquery ya que soy un poco pato. Estoy intentando hacer lista de preferencias ...
  #1 (permalink)  
Antiguo 04/06/2014, 04:27
 
Fecha de Ingreso: marzo-2008
Ubicación: En casa
Mensajes: 252
Antigüedad: 16 años, 1 mes
Puntos: 4
Pregunta Serializar array y incluirlo en input

Muy buenas, lo primero gracias por vuestro tiempo y paciencia conmigo en Jquery ya que soy un poco pato.

Estoy intentando hacer lista de preferencias ordenable y ahora ya estoy en el ultimo paso, tengo que serializar los datos y meterlos en el campo "value" para poder enviarlos y luego procesarlos tranquilamente.

Y la verdad, ni idea de como hacer para que se serializen y meterlos en un input, se que en una mala puedo crear todo el input y meterlo dentro de un formulario atraves de ID, pero la parte de serializar datos me esta pillando grade, por mas que miro no me sale.

Agradezco todo tipo de ayuda.

Aqui el codigo:

Código HTML:
Ver original
  1. <!doctype html>
  2.     <script src="http://code.jquery.com/jquery-1.9.1.js"></script>    
  3.     <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>  
  4.     <script src="https://raw.github.com/furf/jquery-ui-touch-punch/master/jquery.ui.touch-punch.min.js"></script>
  5.     <script>
  6.          $(function () {
  7.                 $("#opciones").sortable();
  8.                 $("#opciones").disableSelection();
  9.                 updateOrder();
  10.                 $("#sortButton").click(sortClick);
  11.             });
  12.  
  13.             $('#opciones').sortable().bind('sortupdate', function () {
  14.                 updateOrder();
  15.             });
  16.             function updateOrder() {
  17.                 var orderArray = [];
  18.  
  19.                 $("#opciones li").each(function (i, el) {
  20.                     orderArray.push($(el).text());
  21.                     orderArray.push($("li")[i].className.slice(5));
  22.                 });
  23.  
  24.                 $("#display").text(orderArray.join(" "));
  25.                
  26.                
  27.             }
  28.  
  29.            function sortClick() {
  30.                 updateOrder();
  31.                 $("#display").text("click: " + $("#display").text());
  32.             }
  33.     </script>
  34.   <meta charset="utf-8">
  35. </head>
  36. <body>
  37. <span id="display"></span>
  38. <ul id="opciones">
  39.     <li class="item_1">Item 1</li>
  40.     <li class="item_2">Item 2</li>
  41.     <li class="item_3">Item 3</li>
  42.     <li class="item_4">Item 4</li>
  43.     <li class="item_5">Item 5</li>
  44.     <li class="item_5">Item 6</li>
  45.     <li class="item_6">Item 7</li>
  46. </ul>
  47. <p>
  48.     <input type="button" value="actualizar_array" id="sortButton"/>
  49. </p>
__________________
Ayudar cuesta mucho, dar las gracias no tanto, tenlo en cuenta siempre.
  #2 (permalink)  
Antiguo 04/06/2014, 06:00
 
Fecha de Ingreso: marzo-2008
Ubicación: En casa
Mensajes: 252
Antigüedad: 16 años, 1 mes
Puntos: 4
Respuesta: Serializar array y incluirlo en input

Arreglado, he cambiado un par de cosas, me he leido la documentacion de: http://api.jquery.com/serialize/

y he añadido esta linea html:
Código HTML:
<input type="hidden" id="display2"> 
Código Javascript:
Ver original
  1. $(function () {
  2.                 $("#opciones").sortable();
  3.                 $("#opciones").disableSelection();
  4.                 updateOrder();
  5.                 $("#sortButton").click(sortClick);
  6.             });
  7.  
  8.             $('#opciones').sortable().bind('sortupdate', function () {
  9.                 updateOrder();
  10.             });
  11.             function updateOrder() {
  12.                 var orderArray = [];
  13.  
  14.                 $("#opciones li").each(function (i, el) {
  15.                     orderArray.push($(el).text());
  16.                     orderArray.push($("li")[i+1].className.slice(5));
  17.                 });
  18.                 var myJsonString = JSON.stringify(orderArray);
  19.                 $("#display").text(orderArray.join(" "));  
  20.                 $("#display2").val(myJsonString);  
  21.             }
  22.            function sortClick() {
  23.                 updateOrder();
  24.                 $("#display").text("click: " + $("#display").text());
  25.                 $("#display2").val(myJsonString);
  26.             }
__________________
Ayudar cuesta mucho, dar las gracias no tanto, tenlo en cuenta siempre.

Etiquetas: input, serializar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:25.