Jsf 删除p:SelectOne菜单中的按钮

Jsf 删除p:SelectOne菜单中的按钮,jsf,primefaces,selectonemenu,Jsf,Primefaces,Selectonemenu,嗯,我想用PrimeFaces做一些类似的事情,但我不知道如何将一个按钮与我的按钮并排放置以移除该项目 <p:selectOneMenu id="pesquisaSalva" rendered="#{!mapaEleitoralControl.desabiliarRadioPesquisaSalva}" disabled="#{mapaEleitoralControl.desabiliarRadioPesquisaSalv

嗯,我想用PrimeFaces做一些类似的事情,但我不知道如何将一个按钮与我的按钮并排放置以移除该项目

<p:selectOneMenu id="pesquisaSalva"
                 rendered="#{!mapaEleitoralControl.desabiliarRadioPesquisaSalva}"
                 disabled="#{mapaEleitoralControl.desabiliarRadioPesquisaSalva}"
                 value="#{mapaEleitoralControl.parametrosPesquisaSalva}"
                 var="teste">

    <f:selectItem itemLabel="Selecione a pesquisa salva"
                  itemValue=""
                  noSelectionOption="true" />

    <f:selectItems value="#{mapaEleitoralControl.listaPesquisaSalvasMapaEleitoral}"
                   var="pesquisaSalvaME"
                   itemValue="#{pesquisaSalvaME.anoEleicao}"
                   itemLabel="#{pesquisaSalvaME.anoEleicao}"/>

    <p:column>
        #{teste}
    </p:column>

    <p:column>
        <p:commandButton id="iconOnly" icon="ui-icon-trash" title="Icon Only" />
    </p:column>

    <p:ajax event="change"
            update="mapaEleitoralForm"
            global="false"
            listener="#{mapaEleitoralControl.selectPesquisaSalvaGerarMapa}" />
</p:selectOneMenu>

我必须解决同样的问题。我是这样做的,也许还有更好的办法

    <p:selectOneMenu styleClass="bookMarkMenu" id="bookmarkMenu" value="#{bean.bookmark}" var="bookmark" style="width:150px;" converter="#{entityConverter}" panelStyle="width:300px;">
                            <f:selectItem itemLabel="#{messages['bookmark.select']}" itemVaule=""/>
                            <f:selectItems value="#{bean.bookmarks}" var="b" itemLabel="#{b.description}" itemValue="#{b}"/>
                            <p:column style="width:100px;">
                                <h:outputText style="padding-left:8px;" value="#{bookmark.description}" rendered="#{bookmark ne null}"/>
                            </p:column>
<p:column style="width:15px; padding:0px;">
                            <p:commandLink style="padding: 4px 10px 4px 10px;"  onclick="deleteCalled(event,#{bookmark.bookmarkId});"><i class="fa fa-trash-o" aria-hidden="true"></i></p:commandLink>
                        </p:column>

                        <p:ajax event="itemSelect" listener="#{bean.onBookmarkSelect}"/>
                    </p:selectOneMenu>
在其中一个p:columns中添加p:commandLink或按钮的问题是,仍将调用项选择的侦听器。这就是为什么我调用名为onclick的javascript方法delete

<p:remoteCommand name="deleteBookmark" action="#{bean.deleteBookmark()}" update="#{p:component('bookmarkDec')}"/>

    <script>
        function deleteCalled(event,id){
            event.stopPropagation();
            if(confirm('Do you really want to delete the bookmark?')){
                deleteBookmark([{name:'bookmarkId',value: id}]);
            }
            return false;
        }

    </script>
在该javascript方法中,您需要停止事件传播,然后调用p:remoteCommand。在本例中,我已将书签ID传递给列表中的“我的项目”


希望能有所帮助。

在给定的图片中,左边的文字和右边的垃圾箱不是排列正确吗?他们似乎并排站着。是的,他们并排站着。那张照片只是为了说明我想做什么。除了,我从来没有试过在a里面。这是否在给定的工作范围内?你在你的真实代码中试过了吗?我试过了,但没有成功,所以我不知道该做什么根据showcase示例,s是允许的。请参阅该页上的“高级”选项。