Tengo que forman un objeto JSON como

var SelectedRows=   {
        "item1":{"id":"1","name":"jhon","phone":"6699"},
        "item2":{"id":"2","name":"Aron","phone":"7799"},
        "item2":{"id":"3","name":"Iyan","phone":"8899"},
        }

Casilla de verificación haga clic en evento, es necesario agregar la fila de la cuadrícula de valores para el JSON de la lista. Estoy tratando con este código:

var SelectedRows={};

$(this).delegate(":checkbox", "click", function() {        
    var j=0;
    var item=[];
    SelectedRows[item]={};        *//I guess this line creating problem*     
    $(this).closest("tr").find("td:visible").each(function(){            
        var key=headerRow[j]["i"];            
        if(j == 0)
        {              
        }
        else
        {   
            SelectedRows[item][key]=$(this).text(); 
        }
        j=++j; 
     });

Después de varios casilla de verificación haga clic en los acontecimientos que suceden,SelectedRows contiene sólo el último evento de clic de datos.

Cómo conseguir todas las casillas de verificación, haga clic en eventos de datos?

  • Este es un curioso objeto JSON que usted está tratando de crear. ¿Por qué no utilizar una matriz en lugar de la adición de elementos con un maniquí claves item1, item2, item3 etc.? Y ¿por qué cada elemento consiste de una matriz con un solo elemento?
  • var item[]; no es válido Javascript, ¿qué estás tratando de hacer con eso?
  • Es error de tecleo, he editado.
  • Ahora que usted está utilizando una variable no definida item.
  • Estoy usando estas teclas(id,nombre,teléfono) en el lado del servidor, así que me decido a crear un objeto json. por encima de un objeto json formato que podría estar equivocado(ficticio claves item1,item2, punto 3, etc).Necesito objeto JSON como asp.net lista.
InformationsquelleAutor User_MVC | 2013-01-01

3 Comentarios

  1. 3

    Puede crear un array de json como este

    var SelectedRows=   [
        item1:{id:"1",name:"jhon",phone:"6699"},
        item2:{id:"2",name:"Aron",phone:"7799"},
        item2:{id:"3",name:"Iyan",phone:"8899"}
    ]
    • +1 útiles salvó mi día.
  2. 1

    reemplazar var item[]; por var item = 'item'+(j+1); y el resultado debería gusta..

    var SelectedRows=   {
            "item1":{"id":"1","name":"jhon","phone":"6699"},
            "item2":{"id":"2","name":"Aron","phone":"7799"},
            "item2":{"id":"3","name":"Iyan","phone":"8899"},
            }
  3. 0

    He hecho como este. es que muestra exactamente por encima de formato.

    var SelectedRows=[];
    var rowCount=1;

    Adicional variable de conteo a partir de item1, item2, item3 etc..

        $(this).delegate(":checkbox", "click", function() {
            var j=0;
            var item={};    
                $(this).closest("tr").find("td:visible").each(function(){
                   var key=headerRow[j]["i"];
                       if(j == 0){ }
                       else {
                              item[key]=$(this).text();
                            }
                   j=++j; 
                });
                SelectedRows["item"+rowCount]=item;
                rowCount=++rowCount;
      });

Dejar respuesta

Please enter your comment!
Please enter your name here