如何删除<f:selectitems> </f:selectitems>的默认选定项目

时间:2014-10-12 19:49:06

标签: primefaces

我正在尝试实施一个取决于另一个下拉列表的下拉列表。关于改变文件类型&#39;下拉列表,下拉列表&#39;文档类别&#39;应该更新。

<p:selectOneMenu id="docType" value="#{docBean.docIndex}"
    <p:ajax listener="#{docBean.onDocTypeChange}" 
            update="docCategory" />
    <f:selectItem itemLabel="-- Select Document Type --"    
                  itemValue="" 
                  noSelectionOption="true" />
    <f:selectItems value="#{docBean.docTypeList}" 
                   var="n"  
                   itemLabel="#{n.name}" 
                   itemValue="#{n.id}" />
</p:selectOneMenu>

 <p:selectOneMenu id="docCategory" 
                  value="#{docBean.catIndex}"
    <f:selectItem itemLabel="-- Select Document Category --" 
                  itemValue="" 
                  noSelectionOption="true" />   
    <f:selectItems value="#{docBean.catList}" 
                   var="n"  
                   itemLabel="#{n.name}" 
                   itemValue="#{n.id}" />
</p:selectOneMenu>

对于'文档类型'selectOneMenu,HTML呈现为:

<select id="myForm:docType_input" name=" myForm:docType_input ">
   <option value="" selected="selected">-- Select Document Category --</option>
   <option value="0" selected="selected">A</option>
   <option value="1">B</option>
   <option value="2">C</option>
   <option value="3">D</option>
   <option value="4">E</option>
</select>

在“文档类型”下拉菜单的UI上,它显示选项“A”作为默认选择选项,而它应该是&#34; - 选择文档类型 - &#34;。 如何解决这个问题?但是,&#39;文档类别&#39;下拉列表正确显示值&#34; - 选择文档类别 - &#34;作为默认选择的选项

感谢。

1 个答案:

答案 0 :(得分:0)

您应该将docIndex的类型更改为可以设置null或空的类型,例如String,Integer等。

可能是你使用int(原始类型),并且该字段已声明但未初始化,编译器默认设置为0。

因此,docIndex等于0,对应于<option value="0" selected="selected">A</option>

另请参阅:Primitive Data Types