我开始使用Bootsfaces,但我在使用<b:selectManyMenu>
标签时遇到了问题。
这是我的xhtml页面:
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"></link>
<link rel='stylesheet' type='text/css'
href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-slider/9.4.1/css/bootstrap-slider.css"></link>
<link rel='stylesheet' type='text/css'
href="https://cdn.datatables.net/1.10.13/css/dataTables.bootstrap.min.css
"></link>
<link rel="stylesheet" type="text/css"
href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/css/bootstrap-multiselect.css"></link>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-slider/9.4.1/bootstrap-slider.js"></script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/bootbox.js/4.4.0/bootbox.min.js"></script>
<script
src="https://cdn.datatables.net/1.10.13/js/jquery.dataTables.min.js"></script>
<script
src="https://cdn.datatables.net/1.10.13/js/dataTables.bootstrap.min.js"></script>
<div>
<h:outputLabel value="Select key columns:"/>
<br></br>
<b:selectMultiMenu value="#{controller.keyColumns}">
<f:selectItems value="#{controller.keyLista()}" var="f"
itemLabel="column: -#{f}" itemValue="#{f}"></f:selectItems>
</b:selectMultiMenu>
</div>
其中var keyColumns
和keyColumns1
为List<String>
。
问题是没有选择列表中的任何一个元素,但如果我使用<b:selectOneMenu>
,则一切正常。
谷歌控制台说'未捕获的TypeError:$(...)。multiselect不是一个函数'。 Ps:我需要其他项目功能的所有脚本,我不能使用bootsfaces标签来改变所有脚本。有没有办法只为这种情况使用正确的jquery代码?
感谢
答案 0 :(得分:1)
就像Kukeltje已经写过的那样,只需删除所有这些JavaScript导入。你不需要它们,因为它们已经是BootsFaces的一部分。另外,它们会导致问题。您在加载jQuery文件之前尝试初始化selectMultiMenu。但是必须首先加载jQuery。
更新2018年6月4日:与此同时,BootsFaces 1.2.0已经发布。它包含几个<b:selectMultMenu />
的错误修正。因此,请跳过下面提到的快照版本并直接跳转到1.2.0(或者当您阅读本文时的当前版本)。
更新:我刚看到你的帖子脚本。您可能需要所有这些JS和CSS依赖项,但是您并不需要在每个页面上都使用它们。例如,除非您另外配置BootsFace,否则包含BootsFaces组件的每个页面都会自动包含jQuery和Bootstrap文件。每个包含b:multiSelectMenu的页面都会自动加载JavaScript文件(并且无法停用此文件)。另请参阅http://showcase.bootsfaces.net/layout/resourcemanagement.jsf和http://showcase.bootsfaces.net/miscellaneous/Configuration.jsf。
顺便说一下,你可能想要更新到BootsFaces-1.1.0-SNAPSHOT。我们修复了b:selectMultiMenu的一些错误,但在撰写本文时,尚未在Maven Central上发布正式版本。请参阅this ticket了解如何获取它。
也就是说,这是您的代码段的最小版本:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:b="http://bootsfaces.net/ui"
>
<h:head>
<title>BootsFaces rocks!</title>
<meta name="author" content="Stephan Rauh"></meta>
</h:head>
<h:body>
<b:selectMultiMenu value="#{formBean.combobox}">
<f:selectItem itemValue="0" itemLabel="red"></f:selectItem>
<f:selectItem itemValue="1" itemLabel="yellow"></f:selectItem>
<f:selectItem itemValue="2" itemLabel="green"></f:selectItem>
</b:selectMultiMenu>
</h:body>
</html>