取消选中ComponentView中的复选框

Sar*_*rca 11 jquery events tridion tridion-2011

我试图通过jquery使用GUI扩展中的文档就绪事件取消选中Tridion的ComponentView中的复选框:

$j(document).ready(function(){
    alert("is loaded");
    var field = $j('[type=checkbox][value=Aceptar]')
    field.attr("checked",false);
    console.log("field = " + field.is(':checked'));
    alert("is checked field = " + field.is(':checked'));
}); 
Run Code Online (Sandbox Code Playgroud)

问题是在"$ j(document).ready"上,字段值似乎没有在ComponentView中加载.我的警报返回该字段未选中,但是当视图完成加载时,复选框被选中.似乎"$ j(document).ready"在加载值之前触发.有谁知道我应该使用哪个事件?

Sar*_*rca 3

@Adrian Salazar @Sogo 感谢您的帮助,也许我应该使用更好的“prop”而不是“attr”来更改该属性,但问题是相同的,字段尚未加载,因此我无法更改该属性。

@Frank 我尝试使用“$evt.addEventHandler($display, “start”, onDisplayStarted);” 在“ComponentView”显示上,并在我的 GUI 扩展的配置上扩展该视图,但在该事件中,字段仍然没有加载,每次我尝试访问我的复选框字段时,它都会说“未定义”。

最后,我设法取消选中订阅组件加载事件的复选框:

"EventSystem.Subscribe <Component, LoadEventArgs> (OnComponentLoad, EventPhases.Processed);"
Run Code Online (Sandbox Code Playgroud)

正如 Nuno 在这里解释的那样:http://www.tridiondeveloper.com/inheriting-metadata-on-organizational-items#more-1073,他在 OrganizationalItem 上使用它,但对于组件的作用相同。

感谢您的帮助!!