Primefaces selectOneButton:通过JS / jquery设置选定的选项

时间:2013-01-15 15:38:22

标签: jquery jsf primefaces client-side

是否可以在客户端更改JSF selectOneButton组件的选定项? Primefaces是否已经提供了一种方便的方法来执行此操作?

在组件上设置'widgetVar'属性时,相应的JS对象有一个方法'select(a)',它似乎停用以前激活的按钮,然后激活参数'a'给出的新按钮:

select: function(a)
{
    this.buttons.filter(".ui-state-active").removeClass("ui-state-active ui-state-hover").children(":radio").removeAttr("checked");
    a.addClass("ui-state-active").children(":radio").attr("checked", "checked").change()
}

但我不知道该怎么设置参数'a'。这是正确的方法吗?

1 个答案:

答案 0 :(得分:6)

您需要传递表示具体<div>的jQuery对象,该对象代表UI中的所需按钮。它们都可以通过widget var的buttons属性获得,它返回一个数组。

因此,如果您需要选择第3个按钮,那么此示例应该这样做,前提是窗口小部件名称为foo

foo.select($(foo.buttons[2]));

请注意,这似乎是一个内部方法(未使用模块模式隐藏)并且未在“用户指南”中记录,因此在未来的PF版本中,它会受到未记录的更改。