hola, como puedo obtener el indice de una array, y no el valor.
Gracias.
| |||
Re: Obtener indice Array El indice de que campo?????? Si es el tamaño --> array.length Si quieres encontrar un campo en concreto: Código HTML: var indice; var i=0; var enc = false; while(i<array.length && !enc){ if(array[i] == "VALOR DEL CAMPO QUE QUIERES ENCONTRAR"){ enc = true; indice = i; } i++; } |
| |||
Re: Obtener indice Array Si creo que me puede ayudar ese script, lo que pasa es que tengo varios <input type="text" name="articulos[]">, y al momento de pasarlos a la bd para hacer el insert, simplemente leo el array articulos con un foreach y puedo grabar, tal vez te preguntes: "por que tienen el mismo nombre?", es que forman parte de los detalles de una nota de pedido y no se cuantos detalles se van a ir agregando, en los detalles van, el codigo, descripcion, precio, cantidad, subtotal, y los campos codigo y cantidad, debo tenerlo en un array, para grabar los datos, tambien lo estoy haciendo de otra forma, como he preguntado en otros temas. Simplemente quiero obtener el indice del array que correspona a la caja de texto que esta seleccionada, solo eso. Salu2. y Gracias. |
| |||
Re: Obtener indice Array los input se crean dinamicamente? Si es asi, puedes ponerle de nombre: name="articulos<%=i %>" (eso seria en ASP) y te iría poniendo: name1,name2,... suponiendo que i vale 1 inicialmente y se va incrementando conforme va añadiendo input. Si lo vas a utilizar varias veces el script: Código HTML: function nombre(array,cadena){ var indice; var i=0; var enc = false; while(i<array.length && !enc){ if(array[i] == cadena){ enc = true; indice = i; } i++; } } |
| |||
Re: Obtener indice Array Cita: si, se van agregando a la tabla, con javascript.los input se crean dinamicamente? Cita: lo que pasa es que la pagina donde se crean los input no es ni PHP ni ASp ,es TPL, estoy trabajando separando el codigo del diseño, por eso en el diseño no podria poner las etiquetas de php ni asp, y tambien estoy usando el ajax para el valor que escribo en la caja de texto, lo envie a una pagina php, haga la consulta el valor de esa consulta lo muestre en un <div> osea si estoy logrado eso, pero me falta un poco para terminarlo.Si es asi, puedes ponerle de nombre: name="articulos<%=i %>" (eso seria en ASP) y te iría poniendo: name1,name2,... suponiendo que i vale 1 inicialmente y se va incrementando conforme va añadiendo input. Osea en una fila todos los elementos deben tener la misma terminacion texto, select0, div, por eso los creo dinamicamente para que sean asi: texto[0], div[0],select[0] y el siguiente fila sea: texto[1], div[1],select[1] Eso si lo esta creando bien pero lo que quiero es que me capture el indice(0,1,2,etc), para que el resultado de la busqueda lo haga en esa misma fila y no en otra. En estos momentos los estoy intentando pero si me ayudan podre terminarlo a tiempo |
| |||
Re: Obtener indice Array Tal vez no me entienden yo estoy creando objectos dinamicamento con el DOM con los siguientes nombres <input type="text" name="articulo[]"> y si yo enviara el formulario con varios objectos creados asi, simplemente le haria un foreach para obtener los valores, pero yo quiero al momento de ejecutar el evento OnKeyUp llamo a una funcion que funciona con el Ajax para que haga la busqueda de ese articulo, por eso lo que quiero es obtener ese indice del input indicado, me entienden? Pueden ayudarme? Estoy tratando de hacerlo pero aun no me sale. |
| |||
Re: Obtener indice Array Gracias por responder, pero tengo algunas preguntas: Código PHP: Código PHP: Pero aun no me sale, pero seguire intentandolo hasta las 6 pm ya que en estos momentos en mi pais son las 9:22 am. |
| |||
Re: Obtener indice Array Código PHP: el del :alert(frm); me sale esto: [object] y el del alert("paso el for"). pero el mensaje del alert(i) no lo muestra en la pagina TPL( es que he separado el codigo del diseño) esta esto: Código PHP: Aun sigo tratando, tengo que hacerlo si o si, sino el ingenierio me va a preguntar: "y como vas?", no se que voy a decirle. |
| ||||
Re: Obtener indice Array Hola de nuevo. Lo que ocurre es que si solo tienes un input, no tienes un array con el nombre arti[] y el código falla. Prueba poniendo más de un input y debería funcionarte. De todas formas, creo que hay una forma más sencilla. Si estás creando los input con DOM, no te inportará añadirle una propiedad más, para luego leerla en el envento onkeyup Código PHP: ![]() |
| |||
Re: Obtener indice Array Ya le puse otro input y no funciona. El input que mostre lo creo normalmente, pero a partir del segundo se crean con el DOM, cada vez que presiono la tecla enter. Voy a tratar de hacerlo con la otra forma que mencionas. Gracias por la ayuda. |
| |||
Re: Obtener indice Array parece qus si funciona, me obtiene ese indice, ahora estoy tratando de llamar el valor que escribo en ese input, pero del input seleccionado. Si tengo mas complicaciones, avisaré. Gracias. |
| |||
Re: Obtener indice Array No pueder ser, si jala los indices, pero no puedo llamar al valor de esa caja de texto Código PHP: Código PHP: Código PHP: |
| ||||
Re: Obtener indice Array tengo un problema similar cuando paso valores de una seleccion de checkbox para eliminar registros, cuando pongo el valor de la variable a imprimir me sale: undefinedProcess Alguien sabe de que se trata? PD: lo estoy pasando usando AJAX |
| |||
Respuesta: Obtener indice Array Hola, si queres obtener solo el indice es muy simple usando array_keys Cita: Por que no le pones nombres a los campos de texto o bien un numero de indice especifico$valores = array('verde' , 'amarillo' , 'azul'); $indice = array_keys($valores,'amarillo'); echo $indice[0]; // Esto nos daría como resultado 1 Cita: O bien ponele el nombre especifico y listo <input type"text" name"campo[0]"> <input type"text" name"campo[2]"> INSERT INTO... SET nombre='".$_POST["campo"][0]."' , apellido='".$_POST["campo"][1]."' " |
| |||
Respuesta: Obtener indice Array Con los checkbox deberias hacer lo siguiente a cada checkbox le pones de nombre por ejemplo eliminar[] y en value le pones el indice que tenga esa info en la base de datos El codigo es muy simple Cita: Saludos for($i=0;$i<count($_POST['eliminar']);$i++){ mysql_query("DELETE FROM basededatos WHERE id='".$_POST['eliminar'][$i]."'",$link); } |