我的页面上有一个 selectOneMenu,它设置为执行一些操作 onChange。我想在执行操作之前显示一个确认对话框。
下面是我的实现,但似乎不起作用。确认对话框会自动隐藏,而不会给用户时间来选择选项,并且任务包含先前选择的值。
<p:selectOneMenu id="selectMenu" value="#{component.selectedAction}"onchange="confirmDialogWidgetVar.show()" >
<f:selectItem itemLabel="Option A" itemValue="A"/>
<f:selectItem itemLabel="Option B" itemValue="B"/>
<f:selectItem itemLabel="Option C" itemValue="C"/>
<f:selectItem itemLabel="Option D" itemValue="D"/>
<p:ajax update="confirmDialog" process="@this" global="false"/>
</p:selectOneMenu>
<p:confirmDialog id="confirmDialog" widgetVar="confirmDialogWidgetVar" message="Are you sure you want to select #{component.selectedAction}?">
<p:commandButton value="YES" oncomplete="confirmDialogWidgetVar.hide()"/>
<p:commandButton value="NO" onclick="confirmDialogWidgetVar.hide()"/>
</p:confirmDialog>
我要显示的消息是“您确定要选择选项 A 吗?” 在选择选项 A 时的确认对话框中。