0

この構成の通常のフォーム内でチェックボックスオプションを指定してjsTreeを使用しています。

"checkbox" : {
    real_checkboxes : true,
    two_state: false
      }

データのレベルは2つだけです(L1とL2)。一部のL2アイテムのみをチェックすると、それらのアイテムのみが取得されます(その上にL1アイテムはありません)。これで問題ありません。問題は、すべてのL2アイテムがチェックされている場合、トップレベルのアイテム(L1)とすべてのL2アイテムを取得することです。トップレベルのチェック済みアイテムのみを取得したいので、すべてのL2アイテムをチェックすると、その上のL1アイテムのみを取得します。

.get_checked ( context, get_all )オプションがあるのを見ましたが、これからフォームに値を投稿する方法がわかりません。

4

1 に答える 1

0

簡単な方法は、jQueryの結果をループして、.get_checked各要素のIDをコンマ区切りの文字列に連結することです。次に、結果の文字列を非表示の入力フィールドの値として設定できます。ただし、サーバー上でこの文字列を再度分割する必要があります。

チェックされた要素のすべての(非表示の)入力要素に対してjQueryセレクターを作成し、それらをオフに設定することも検討してください。何かのようなもの

$("li.jstree-checked > ul input").attr('checked', false);

私はそれを試していませんが、うまくいくかもしれません。

于 2012-07-04T09:29:05.433 に答える