2

是否可以在客户端更改 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'。这是正确的方法吗?

4

1 回答 1

6

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

因此,如果您需要选择第三个按钮,那么这个示例应该这样做,提供了一个小部件 var 名称foo

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

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

于 2013-01-15T16:46:35.377 回答