0

jqte を使用して textarea をrichtexteditorに設定しようとしていますが、ポップアップを開いた後に設定してポップアップダイアログで使用すると、コントロールは正しく機能します

function EditItemPopup(item) {
    // Set Controls
    //debugger;
    ClearTips("validateTips");
    ClearTips("DetailvalidateTips");
    $.ajax({ type: "GET", url: BaseUrl + 'Get/?id=' + item.id })
        .done(function (data) {
            displayViewModelObject.item(data);
            displayViewModelObject.dialogLoading(false);
            SetOutComes();
            SetTools();
            $("#ddlUnits").val(displayViewModelObject.item().activity.unitID);

            $("#ddlProjectTools").select2("val", displayViewModelObject.item().selectedActivityTools);
            $("#ddlOutComes").select2("val", displayViewModelObject.item().selectedActivityOutComes);

            $("#dialog").dialog(opt).dialog("open");
            $('#Activity_Header').jqte();
            $('#Activity_Footer').jqte();

            $("#dialog").dialog(opt).dialog('option', 'width', BigDialogWidth);
            $("#dialog").dialog(opt).dialog('option', 'height', BigDialogHeight);

            $("#dialog").dialog(opt).keypress(function (e) { EnterKeyPress(e); });

            Z_Index = 1;

            // Set Validation
            $.validator.unobtrusive.parse($("#frmManager"));
            $('#frmManager').validate().resetForm();
            $('.field-validation-error').empty();
            EditInit();
        }).fail(function () { ShowAlert(msgLoadError, -1); });
};

この関数は、ノックアウト バインディングによって呼び出されます。そして、同じことをしようとすると、クリックイベントでポップアップを開くために呼び出されるjsメソッドによって(ノックアウトバインディングなしで)、jqteライブラリは、前のメソッドのようなオープンポップアップメソッドを呼び出すたびに別のエディタを作成します。

ありがとう

4

1 に答える 1

0

問題はポップアップのフォームのバインドにありました。ポップアップのフォームを監視可能な変数のプロパティにバインドしました。このプロパティは、ajax 応答に含まれる json オブジェクトから読み取られます。これが問題の原因です。バインディングは監視可能な変数によるものでなければなりません (監視可能な変数のプロパティや子ではありません)

于 2014-02-13T10:58:54.217 に答える