1

チェックボックスを実装したkendoUIツリービューを使用しています。親のチェックボックスを選択すると、すべての子のチェックボックスをオンにできます。ここで、親のチェックボックスをオンにしたときに、すべての子のテキスト値を取得したいと思います。ツリービューでのチェックボックス操作にテンプレートを使用しました

$("#ProjectUsersTreeView [type=checkbox]").live('change', function (e) {                       var chkbox = $(this);
                        var parent = chkbox.parent();                            
    var pBox = $(parent).closest('.k-item').find(":checkbox");                               

                       if (this.checked || pBox.length>0) {
                           $(pBox).prop('checked',this.checked ? "checked": "")      
}
4

1 に答える 1

0

コードを使用して子供をチェックする代わりに、KendoUI 構成オプション checkChildren を使用することをお勧めします。

tree = $("#ProjectUsersTreeView").kendoTreeView({
            checkboxes:{
                checkChildren: true
            },
            ...
        }).data("kendoTreeView");

次に、選択したすべてのテキストを取得するには、次を使用します。

$("#ProjectUsersTreeView [type=checkbox]").live('change', function (e) {
            var checked = $("input:checked", tree);
            $.each(checked, function(idx, elem) {
                console.log("text", tree.text(elem));
            })
        });

ツリーから実際にあるcheckedすべての要素を取得し、メソッドを使用して取得することでコンソールにそのテキストを表示します。inputcheckedtext

tree:として定義したことを認識$("#ProjectUsersTreeView").data("kendoTreeView")し、それをchangeハンドラーで使用します。

于 2012-11-12T08:05:48.177 に答える