Estoy jQuery principiante tratando de atravesar una tabla html con jQuery. Fui a través de diversos puestos relacionados con este, pero ninguno podía satisfacer mi enunciado del problema.

Así es abajo » es la muestra de la tabla html:

<table>
    <tr>
        <td><input type="text" id="text1"></td>
        <td>
            <select>
                <option value="abc">ABC</option>
                <option value="def">DEF</option>
            </select>
        </td>
    <tr>
    <tr>..</tr>
</table>

Yo ideal sería formar una cadena con todos los valores de la celda de un registro separado por un tubo como este: mitexto,ABC | mytext2,DEF

Tratar de los siguientes jQuery función, pero no ha sido capaz de lograr este

$(function abc() {
    $("#save").click( function() {
        var dataList;
        var recordList; 
        var i = 0;
        $('#summaryTable tr').each(function() { 
            alert('tr found');
            $(this).find('td').each (function() {   
                alert('td found');
                var data =  $(this).html();
            });
        }); 
    });
});

Cualquier ayuda sería genial.Gracias.

  • ¿qué es mytext y mytext2 ? lo que la lógica detrás de mytext,ABC | mytext2,DEF es?
  • valores de la muestra para el primer cuadro de texto
  • Lo que hace esta pregunta tiene que ver con Java? ¿Por qué el java la etiqueta?
  • ¿Por qué iba a obtener distintos tipos de texto a partir de la input (no hay tal cosa como un ‘texto’ en HTML) para dar mytext, ABC y mytext2, DEF?
  • Así que usted puede ver que hay una caja de texto y un menú desplegable con dos opciones de ABC y DEF.De esa manera, mytext se muestra el valor en el cuadro de texto y ABC es la opción seleccionada en el menú desplegable.
InformationsquelleAutor shabeena | 2013-08-03

5 Comentarios

  1. 1

    [Editado]

    de acuerdo con su pregunta y con el ejemplo, el trs tienen la misma estructura,

    entonces lo que necesitas es algo como esto :

    esto es si se quiere «textfield valor»,»valor seleccionado» | «siguiente trs ..» : JSFiddle

    El código JS:

    var wordVal="";
    var totalString = "";
    $('#btn').click(function(){
        totalString="";
        $('table tr').each(function(i){
            $(this).children('td').each(function(j){
                if(j==0) wordVal = $(this).children('input').val().trim();
                else totalString+= wordVal+','+$(this).children('select').val()+'|';
            });
        });
        totalString= totalString.substring(0,totalString.length-1);
        console.log(totalString);
    });

    el código js para («textfield el valor»1″,»opción1» | «textField valor»2,»opción 2», etc..): JSFiddle

    var wordVal="";
    var totalString = "";
    $('#btn').click(function(){
        totalString = "";
        $('table tr').each(function(i){
            $(this).children('td').each(function(j){
                if(j==0) wordVal = $(this).children('input').val().trim();
                $(this).children('select').children('option').each(function(k){
                    totalString+= wordVal+(k+1)+','+$(this).html()+'|';
                });
            });
            totalString= totalString.substring(0,totalString.length-1)+'\n';
        });
        console.log(totalString);
    });
    • Yayy! Se trabajó.Gracias 🙂
    • u r bienvenida 🙂
  2. 1

    Todavía no consigo la coma y el tubo, Pero trate de

    var objs = [];
    $("table :input").each(function(i, v) {
        objs.push($(v).val());
    });
    $("#result").html(objs.join("|"));

    Y aquí está el violín.

    Se puede trabajar por sí mismo.

  3. 0
    <label id="l1">Hello Test</label>
    <label id="l2">Hello Test22222</label>
    <input type="button" id="button1" />
    
    <script type="text/javascript">
    $(document).ready(function(){
      $("#button1").click(function(){
        var a = $('#l1').html();
        $("#l1").text($('#l2').html());
        $('#l2').text(a);
    
      });
    });
    
    </script>
    • ¿qué l1 significar?
    • No es sólo el nombre de id de modo que cualquier usuario puede utilizar una id diferente.
    • Tengo un montón de componentes y no quiero recorrer con el atributo id idealmente
  4. 0
    var NewString = "";
    $(".nav li > a").each(function(){
        NewString = NewString  + "This,"+$(this).text()+"|";
    });
  5. 0

    El algoritmo:

    $(function () {
        $('button').click(function () {
            alert(getString());
        });
    
        function getString() {
            var rows = $('table>tbody>tr'); //all browsers always create the tbody element in DOM
            var arr = [];
            for (var i = 0; i < rows.length; i++) {
                var cells = rows.eq(i).children('td');
                var text1 = cells.eq(0).find('input').val();
                var text2 = cells.eq(1).find('select').val();
                //var text2 = cells.eq(1).find('select option:selected').html();//alternative, if you want to collect the inner html instead
                arr.push(text1 + ',' + text2); //add string to array
            }
            return arr.join('|'); //join the string in array to single string
        }
    });

    http://jsfiddle.net/T9RtQ/2/

Dejar respuesta

Please enter your comment!
Please enter your name here