0

AJAX タブで使用したい Primefaces チャートがあります。

<h:head>

</h:head>
<h:body>
    <div id="test" style="width:850px; height:800px; position:absolute;  background-color:transparent; ">

        <h:form>
            <h:panelGroup layout="block">
                <h:selectOneListbox size="0" id="selectedMenu" value="#{dashboardController.selectedMenu}">
                    <f:selectItem itemLabel="first" itemValue="0" />
                    <f:selectItem itemLabel="second" itemValue="1" />
                    <f:selectItem itemLabel="third" itemValue="2" />

                    <f:ajax event="change" execute="@this" render="loadMenu" />
                </h:selectOneListbox>
            </h:panelGroup>

            <h:panelGroup layout="block" id="loadMenu">
                <h:panelGroup rendered="#{dashboardController.selectedMenu=='0'}">
                    MENU 0
                </h:panelGroup>

                <h:panelGroup rendered="#{dashboardController.selectedMenu=='1'}">
                    MENU 1
                </h:panelGroup>

                <h:panelGroup rendered="#{dashboardController.selectedMenu=='2'}">
                    MENU 2
                </h:panelGroup>
            </h:panelGroup> 
        </h:form>    
    </div> 
</h:body>


@ManagedBean
@ViewScoped
public class DashboardController implements Serializable{

private String selectedMenu;

@PostConstruct
public void init() {
    if (selectedMenu == null || selectedMenu.trim().isEmpty()) {
        this.selectedMenu = "0";
    }
}

public String getSelectedMenu() {
    return selectedMenu;
}

public void setSelectedMenu(String selectedMenu) {
    this.selectedMenu = selectedMenu;
} 
}

チャートには次のコードを使用します。

<script type="text/javascript">
   $.noConflict();
   // Code that uses other library's $ can follow here.
</script>
    ..........

<p:lineChart id="logins" value="#{StatisticsController.weekActivity}" legendPosition="ne"  
                                 title="Weekly Logins" seriesColors="4D94FF, 1975FF, 005CE6, 0047B2" minY="0" maxY="200"/>

外すと

<script type="text/javascript">
    $.noConflict();
    // Code that uses other library's $ can follow here.
</script>

AJAX タブが機能している場合。$.noConflict();コードが競合しているようです。どうすればこの問題を解決できますか?

4

1 に答える 1

2

したがって、primefaces ライブラリから jquery インクルードを削除し、既にインクルードした jQuery を使用するようにします。

于 2012-09-30T19:42:46.397 に答える