0

我应该在单击确定链接时将 div 加载到模式对话框中。但它在这里不起作用是代码,有人可以帮忙。

    <ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j">
<h:head>

    <script src="JqueryLib/jquery.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script src="js/jquery-1.8.2.js"></script>
<h:outputStylesheet library="css" name="application_1.css"></h:outputStylesheet>
<h:outputStylesheet library="css" name="jquery-ui.css"></h:outputStylesheet>

<script>
$(document).ready(function(){
$("#viewDetails").click(function(){

$("#popup").dialog({
     modal: true,
    height: 400,
    width:600,
     buttons: {
     Ok: function() {
     $( this ).dialog( "close" );} }
});



})    
});
</script>
</h:head>
<h:body>

<ui:composition template="/template.xhtml">

            <ui:define name="title">my title</ui:define>



            <ui:define name="content">

                <div class="content2">

                    <div class="tabs">

                        <h1>Overview</h1>

                            <p>
                                test test
                            </p>

                        <f:view>

                            <h:form id="testForm">

                            <h:outputLink id="viewDetails" value="#">
                <h:outputText value="View Details"/>
            </h:outputLink>



            <h:panelGroup id="popup" class="popup" title="test Panel" layout="block" >

            </h:panelGroup>


                            </h:form>

                        </f:view>



                    </div>

                </div>

            </ui:define>

        </ui:composition>

</h:body>

</ui:composition>

不知道这里出了什么问题,当我单击应该显示对话框的链接时,如果我用一个简单的 jsf 页面测试它可以正常工作,但不是这个页面。

4

1 回答 1

0
<ui:composition ... xmlns:rich="http://richfaces.org/rich">
...
<script src="JqueryLib/jquery.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="js/jquery-1.8.2.js"></script>

您正在加载和混合 4 个不同的 jQuery 文件。这当然会失败,因为它们会相互冲突。您应该只拥有并使用一个 jQuery 文件。我建议坚持使用 RichFaces 捆绑的一个。摆脱所有<script>对 jQuery 的引用。

<ui:composition ... xmlns:rich="http://richfaces.org/rich">

如果你不能保证你的当前页面是否会使用 RichFaces ajaxified 组件,RichFaces 捆绑的 jQuery 会自动加载,那么你可以通过

<ui:composition ... xmlns:rich="http://richfaces.org/rich">
...
<h:outputScript name="jquery.js" />

请注意,您不需要提供自己的文件。将<h:outputScript>自动从 RichFaces JAR 文件中加载它。


与具体问题无关,RichFaces 有一个<rich:popupPanel>开箱即用的功能。你有没有看过它而不是在家种植它?

于 2013-02-12T11:44:46.373 回答