我试图通过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'));
});
问题是在“$ j(document).ready”上,字段值似乎没有在ComponentView中加载。我的警报返回该字段未选中,但是当视图完成加载时,复选框被选中。似乎“$ j(document).ready”在加载值之前触发。有人知道我应该使用哪个活动吗?
答案 0 :(得分:3)
@Adrian Salazar @Sogo感谢您的帮助,也许我应该使用更好的“prop”而不是“attr”来改变那个属性,但问题是一样的,字段还没有加载所以我不能改变那个属性。
@Frank我试过“$ evt.addEventHandler($ display,”start“,onDisplayStarted);”在“ComponentView”显示上,并在我的GUI扩展配置上扩展该视图,但在该事件中,字段仍未加载,每当我尝试访问我的复选框字段时,它表示“未定义”。
最后,我设法取消选中该组件的load事件的复选框:
"EventSystem.Subscribe <Component, LoadEventArgs> (OnComponentLoad, EventPhases.Processed);"
正如Nuno在这里解释http://www.tridiondeveloper.com/inheriting-metadata-on-organizational-items#more-1073,他在OrganizationalItem上使用它,但对于一个组件也是如此。
感谢您的帮助!!
答案 1 :(得分:2)
尝试,
field.prop("checked",false);
field.is(':checked')
工作正常,如果需要,可以使用prop('checked')
而不是。如果要使用prop()