0

これを使用して、HTMLページのすべての入力テキストを取得しています。

 var inputs = data.context.find(':input');
 $('#result').text(JSON.stringify(inputs.serializeArray()));

次に、各入力テキストのIDと値を含むJSON文字列があります。

私は似たようなことをしようとしていますが、すべてのスパンでやっています。私はこれを私のHTMLファイルに持っています:

 <td class="name"><span>{%=file.name%}</span></td>

<td class="name"> ...タグはいくつでも持つことができます。したがって、上記の入力テキストで行ったように、それらすべての値を取得してJSON文字列に変換する必要があります。

どうすればいいですか?

4

3 に答える 3

3

このコードスニペット:$('.name span')オブジェクトの配列を返すので、各オブジェクトからテキストを取得するには、オブジェクトを配列として実行する必要があります。

$('.name span').each(function(index,val){
   //do something with val
});

このメソッドへの参照はここにあります

単純なフィドル: http: //jsfiddle.net/CMdBa/1/

于 2013-03-06T19:32:14.137 に答える
2

繰り返し.name(または必要に応じてより深く)、データ構造を構築し(を使用してdata)、それをJSONに変換します。実例: http: //jsfiddle.net/tLuPC/

id以下は、投稿に記載されているように取得する必要があるかどうかをシミュレートしています。属性を使用data-して情報を保存します。それ以外の場合は、単にを取得できますname

var data = [],
    jsonData = null;

$('.name').each(function () {
    var item = $(this);

    data.push({
        id: item.data('id'),
        name: $('span', item).text()
    });
});

jsonData = JSON.stringify(data);

console.log(JSON.stringify(jsonData));
于 2013-03-06T19:34:26.780 に答える
0

関数を使用してmap、コレクションを列挙およびフォーマットできます。

var spanTextArray = $('td.name span').map(function(){
    return $.trim(this.innerHTML);
}).get();

これにより、ファイル名の配列が出力されます。戻り値を簡単に変更して、キーと値のペアの配列を出力できます。

于 2013-03-06T19:34:51.580 に答える