2

我正在尝试通过 Javascript 操作 primefaces 单选按钮。

对于标准单选按钮,我可以简单地更改checked输入元素的属性:

jQuery(".myselector input")[0].checked = true
jQuery(".myselector input")[0].checked = false

之后,按钮返回初始状态(未选择任何项目)。

使用 primefaces 单选按钮,更改选中的属性似乎没有效果。click我可以通过在相应标签上生成事件来选择特定的单选按钮:

jQuery(".mygroup-selector label").get(0).click()

但是,我正在寻找一种恢复初始状态的方法,即取消选择所有项目。如何才能做到这一点?

4

2 回答 2

0

我发现执行此操作的最佳方法是操纵基础checked属性,然后手动触发changed事件。然后事件处理程序将自动更新 UI 类:

$(".myselector input").prop("checked", false)
$(".myselector input").change()

但是,其他更改事件处理程序也将运行,这可能会根据情况产生副作用。

显然,Primefaces(或它使用的任何 js 组件)确实应该为此提供适当的客户端 API……

于 2012-08-10T10:43:44.060 回答
0

尝试 :

$(".myselector input").prop('checked', false);
// Note that the pre-jQuery 1.6 idiom was
// $(".myselector input").attr('checked', false);
OR
$(".myselector input").removeAttr("checked");
OR
$(".myselector input").val("");
于 2012-08-10T00:19:19.120 回答