11

GUI拡張でドキュメント準備完了イベントを使用して、jqueryで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」が起動するようです。どのイベントを使用すればよいか知っている人はいますか?

4

2 に答える 2

3

@Adrian Salazar @Sogoご協力ありがとうございます。そのプロパティを変更するには、「attr」ではなく「prop」を使用する必要があるかもしれませんが、問題は同じで、フィールドがまだ読み込まれていないため、そのプロパティを変更できませんでした.

@Frank "$evt.addEventHandler($display, "start", onDisplayStarted);" で試しました 「ComponentView」ディスプレイで、GUI拡張機能の構成でそのビューを拡張しますが、そのイベントではフィールドもまだロードされず、チェックボックスフィールドにアクセスしようとするたびに「未定義」と表示されました。

最後に、コンポーネントのロードイベントに関係するチェックボックスのチェックを外すことができました:

"EventSystem.Subscribe <Component, LoadEventArgs> (OnComponentLoad, EventPhases.Processed);"

Nuno がここhttp://www.tridiondeveloper.com/inheriting-metadata-on-organizational-items#more-1073で説明しているように、彼は OrganizationalItem でそれを使用しますが、コンポーネントでも同じように機能します。

ご協力いただきありがとうございます!!

于 2012-12-20T10:19:52.830 に答える
2

で試して、

field.prop("checked",false);

field.is(':checked')prop() を使用する場合prop('checked')は、jquery のバージョンが 1.6 以降であることを確認してください。

于 2012-12-19T10:04:15.533 に答える