JSF页面中的$ .noConflict()冲突

时间:2012-09-30 19:18:53

标签: javascript jquery jsf jsf-2 primefaces

我有一个Primefaces图表,我想用AJAX标签:

<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();代码存在冲突。我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:2)

所以从primefaces库中删除jquery include,然后让它使用你已经包含的jQuery。