5

次のようなJSONオブジェクトを形成する必要があります

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

チェック ボックスのクリック イベントで、グリッド行の値を JSON リストに追加する必要があります。私はこのコードで試しています:

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; 
     });

複数のチェックボックス クリック イベントが発生した後、SelectedRows最後のクリック イベント データのみが含まれます。

すべてのチェックボックスのクリックイベントデータを取得するにはどうすればよいですか?

4

3 に答える 3

2

このようなjson配列を作成できます

var SelectedRows=   [
    item1:{id:"1",name:"jhon",phone:"6699"},
    item2:{id:"2",name:"Aron",phone:"7799"},
    item2:{id:"3",name:"Iyan",phone:"8899"}
]
于 2013-01-02T09:38:07.987 に答える
1

で置き換えるvar item[];var item = 'item'+(j+1);、結果は次のようになります..

var SelectedRows=   {
    "item1":{"id":"1","name":"jhon","phone":"6699"},
    "item2":{"id":"2","name":"Aron","phone":"7799"},
    "item2":{"id":"3","name":"Iyan","phone":"8899"},
    }
于 2013-01-01T09:15:28.317 に答える
0

私はこのようにしました。正確に上記の形式で表示されています。

var SelectedRows=[];
var rowCount=1;

item1、item2、item3 などに追加の count 変数を使用しました。

    $(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;
  });
于 2013-01-01T10:18:45.640 に答える