0

我对 MVC/jQuery 世界真的很陌生,并且无法全面了解如何设置和处理树视图单击事件以将完整路径(父和子)值传递给下面树视图中的 MVC 控制器。示例:如果我单击休斯顿。我想获得父路径 USA,Texas,Houston 然后传递给控制器​​。如果只是德克萨斯,那么我想要美国,德克萨斯。我正在使用 jstree.com 树视图。感谢您的帮助。

PS在控制台日志中说:未捕获的TypeError:无法读取未定义的属性“值”

<div id="divtree">
            <ul id="tree" >
                <li>
                    <a href="#">Locations</a>
                    <ul>
                        <li onclick="selectNode(event, this);" >
                            <a href="#">Texas</a>
                            <ul>
                                <li onclick="selectNode(event, this);" >
                                    <a href="#">Houston</a>
                                    <ul>
                                        <li onclick="selectNode(event, this);" >
                                            <a href="#">Katy</a>
                                        </li>
                                    </ul>
                                    <ul>
                                        <li onclick="selectNode(event, this);" >
                                            <a href="#">Spring</a>
                                        </li>
                                    </ul>

                                    <script type="text/javascript">
                                        function selectNode(event, nodeHtmlEl) {
                                            console.log("selectNode Info: " + $(nodeHtmlEl).attr("li").value);
                                        }
                                    </script>
                                </li>
                            </ul>

                            <script type="text/javascript">
                                function selectNode(event, nodeHtmlEl) {
                                    console.log("selectNode Info: " + $(nodeHtmlEl).attr("li").value);
                                }
                            </script>
                        </li>
                    </ul>

                    <script type="text/javascript">
                        function selectNode(event, nodeHtmlEl) {
                            console.log("selectNode Info: " + $(nodeHtmlEl).attr("li").value);
                        }
                    </script>
                </li>
            </ul>
        </div>
4

1 回答 1

0

也许试试这个:

<div id="divtree">
    <ul id="tree">
        <li> 
            <a href="#">Locations</a>
            <ul>
                <li> 
                <a href="#">Texas</a>
                    <ul>
                        <li> 
                            <a href="#">Houston</a>
                            <ul>
                                <li> 
                                    <a href="#">Katy</a>
                                </li>
                            </ul>
                            <ul>
                                <li> 
                                    <a href="#">Spring</a>
                                </li>
                            </ul>
                        </li>
                    </ul>
                </li>
            </ul>
        </li>
    </ul>
</div>

<script type="text/javascript">
    $("#tree a").click(function(e) {
        e.preventDefault();
        var parentEls = $(this).parents('ul').map(function () {
            return $(this).find('a').first().text();
        }).get().join(", ");
        alert(parentEls);
    });
</script>


现场示例:链接

于 2013-09-09T21:49:40.160 回答