DWZ中Tree樹形菜單的treeCheck如何獲取返回值解決方案


最近在對DWZ和asp.net MVC3進行整合,其中遇到了很多問題,總算一一解決了,今天就說說題目所示的問題解決方案。

想做一個基於角色的權限管理,要對每一個Action進行權限控制。就想用DWZ的Tree樹形菜單來做,結果在做的過程之中,發現DWZ的Tree樹形菜單,自帶的treeCheck無法返回選擇的值,遇到過這種問題的朋友,應該知道這個情況。雖然官方提供一個KKK的源碼樣本,但基本沒用,因為菜單前的復選框取消選擇時,Json返回的items是空值。

經過網上搜索,沒有找到有效的答案,最后自己想辦法解決了,方法很笨拙,但有效。解決方法就是自己手動添加CheckBox,不要用它的treeCheck屬性,也不要用它的鏈接擴展屬性。

我先用簡單的mvc示例代碼循環出菜單

 <ul class="tree treeFolder expand">
                        @for(int i=1;i<=3;i++)
                        {
                            <li><a  href="javascript:void(0);">一級菜單 @i</a>
                                <ul>
                                    @for(int m=1;m<=5;m++)
                                    {
                                        <li><label><input type="checkbox" id="@("menu"+i+m)" />二級菜單 @m</label></li>
                                    }
                                </ul>
                            </li>
                        }
                    </ul>

然后在頁面上其它隨便某個地方放置一個按鈕,觸發Jquery事件。

<input type="submit" id="btn" value="輸出選擇內容" />

然后編寫JQuery代碼或js代碼就可以了。

<script type="text/javascript">
    $(function () {
        $("#btn").click(function () {
            var str = "";
            $('input[type="checkbox"]:checked').each(function (i, e) {
                str += e.id + ",";
            });
            str = str.substring(0, str.length - 1);
            $("#resultBox").html(str);
        });
    });
</script>

選擇好需要的對象后,點擊這個按鈕就成了。如圖

說得不是很清楚,沒用過DWZ的樹形菜單的朋友肯定不知所雲,但用過並遇到這種情況的朋友,就知道我說的是什么了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM