0

我在 selectOneMenu 组件和 primefaces 文件上传上遇到了问题。

<h:outputLabel value="Categorie :"  />  
            <p:selectOneMenu  value="#{composantbean.selectedCategoryId}" required="true" >  
                <f:selectItem itemLabel="Select categorie" itemValue="" />  
                <f:selectItems  value="#{composantbean.listcat}" var="cat" itemValue="#{cat.nomCat}" itemLabel="#{cat.nomCat}" /> 
                <p:ajax update="panlecart2"  event="change" listener="#{composantbean.catListener()}"/>
            </p:selectOneMenu>   

我的问题出在显示器上。selectOneMenu 被显示,但 ItemLabel 被我的主题“trontastic”的黑色隐藏

在此处输入图像描述 并且不显示文件上传。

当我使用资源管理器而不是 chrome 或使用时,此问题不再存在

<p:commandButton value="Annuler" update="panel1" process="@this">
      <p:resetInput target="panel1" />
     </ p: commandButton>

在此处输入图像描述 我应该这样做,请提前谢谢你

4

2 回答 2

1

我不确定根本原因,但这是一个临时解决方案:

$(document).ready(function() {
    $(document.getElementById('button')).click();
});

这个脚本执行你的按钮:

<p:commandButton id="button"value="Annuler" update="panel1" process="@this" style="display:none;">
      <p:resetInput target="panel1" />
</p:commandButton>

尝试在 javascript 函数中给出按钮的确切客户端 ID。您可以通过浏览器的设置来检测它。

关于问题本身;p:selectOneMenu在标签内显示选定的值。我猜…… 覆盖它的css,给你的p:selectOneMenu(比如说菜单)一个id,如果它存在于表单中(假设它的id是表单)。因此,您可以尝试通过以下方式更改该标签的 css:

$(document.getElementById('form:menu_label')).css("width":150);

或者直接修改css类.ui-selectonemenu label

为了避免视图状态错误ajax=false,还应将其添加到导航按钮中。实际上导航应该通过链接和它们的outcome属性来完成,比如这里

于 2013-05-02T10:50:10.370 回答
1

当我像这样改变我的方法时

public String Ajouter(){
    selcetitem=new Composant();
    return "AjoutC?faces-redirect=true";
}

而不是这个

public String Ajouter(){
        selcetitem=new Composant();
        return "AjoutC";
    }

它工作正常:)

于 2013-05-02T10:57:57.417 回答