jQueryプラグインjqGridを読み込もうとしていますが、ドキュメントとデモを読み飛ばすときには短期間です。jqGridを使用してテーブル行にデータ属性を作成する
私が達成したいのは、JSONデータの一部を列に表示し、他の部分を使用して各テーブル行にHTML5データ属性を作成することです。しかし、私はjqGridがこれを処理できるかどうかを判断することはできません。
私が何をしたいの例:
次のデータから、(空白読みやすくするために追加された)
[
{
'id': 1,
'type': 0,
'name': 'first',
'address': '1524, 3rd street',
'X': 18.0068922,
'Y': 59.31076795
},
{
'id': 7819,
'type': 0,
'name': 'not first',
'address': 'South Corner',
'X': 144.18457031,
'Y': -22.20774917
}
]
私は、次の表を作成したい:
<table>
<thead>
<th>Name</th>
<th>Address</th>
</thead>
<tbody>
<tr data-id="1" data-type="0"
data-x-coord="18.0068922" data-y-coord="59.3107695">
<td>first</td>
<td>1524, 3rd street</td>
</tr>
<tr data-id="7819" data-type="0"
data-x-coord="144.18457031" data-y-coord="-22.20774917">
<td>not first</td>
<td>South Corner</td>
</tr>
</tbody>
</table>
ご覧のとおり、データ属性の名前は、行のプロパティと同じである場合と同じでない場合があります。また、この例では示されていないが、いくつかのプロパティは、表に表示するためとデータ属性の両方に使用されます。
JSONデータを提供するAPIは他の場所で使用されているため、変更することはできません。データ属性の要件は、別の(自作の)jQueryプラグインによっても定義されているため、変更することもできません。
jqGridでこれを行う方法はありますか?もしそうなら、どうですか?そうでない場合は、どのようなオプションがありますか?
ニースとシンプル。ありがとう! –
@TomasLycken: 'afterInsertRow'を使用すると、' gridview:true'パラメータを使用できないため、データ応答の処理が遅くなります。オリジナルのJSONデータをパラメータとして持つ 'loadComplete'を使う方が良いでしょう。 'jQuerx.data'を使って''要素にデータを置くことができます。ところで、 'data-id'を設定する必要はありません。代わりに 'id'属性''を使うことができます。この問題は、サーバーからデータを返す形式と、使用する[jsonReader](http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#json_data)という形式の問題です。 – Oleg
@Oleg: 'afterInsertRow'と' addRowData'はうまく動作します - 私はサーバからの実際のデータで試してみました。また、これは非常に複雑なマッピングのために新しい 'jsonReader'を書くことを避けることができます。これはjqGridを初めて使用して以来初めてです:Pこのすべての解決策では、しかしすべてが十分に劣っています。 –