2011-07-17 39 views
3

jsTreeノードに任意のデータを格納するには、create_nodeメソッドにカスタム属性(例:ノードデータ)を渡します。しかし、私は単一の属性に複数のデータを格納する必要があります。 (例えば、名前、年齢など)どのようなフォーマットがnode-data属性の値に最も適していますか?私が探しているのは、データを簡単に取得できるフォーマットです。単一属性を使用してjsTreeノードに複数のデータを格納する方法は?

たとえば、「名前:John、年齢:26」という形式を使用できます。しかし、区切り文字としてカンマを使用して文字列を分割し、名前と値を区切るためにコロンで分割する必要があります。これを行うより良い方法はありますか?

答えて

2

データ属性を使用していない理由は何ですか? jqueryおよびすべての現在のブラウザ(HTML5)でサポートされています。したがって、obj.attr( "myattrib"、true)の代わりに。どのオブジェクトにも任意のデータを割り当てることができます。 (

var name = node.data("name"); 

サーバー側で、あなたが戻ってJSONデータなどのデータを送っている仮定、あなたは、単に定義:あなたは簡単のようなものを行うことができます:

node.data("name", "John"); 
node.data("age", 26); 

、必要なときに、後であなたがそれらを取得します最も単純な形式では、サーバーのjsonオブジェクトのディクショナリメタデータを取得し、辞書から「名前」を取得し、オブジェクトを適切な型にキャストして移動します。

+0

JSONオブジェクトのデータを準備するというアイデアについて少し詳しく説明しますか? jsTree構造体をロードするときにフォルダのアクセス許可を送信しようとしています。 –

-1

jsonデータ配列のli_attrとa_attrを使用して、ノードにhtml属性を渡すことができます。

$list[] = array(
       'id' => "year_" . $year->Year, 
       'text' => $year->Year, 
       'children' => TRUE, 
       'folder' => 'folder', 
       'li_attr' => array('year' => $year->Year), 
       'a_attr' => array('month' => $year->month) 
); 
関連する問題