JsViews: есть ли способ получить двустороннее связывание данных для работы с contentEditable = true, установленным для элемента <div>?

0

Я могу получить двустороннюю привязку для работы, если я заменил div на contentEditable = "true" на текстовое поле, но мне не нравится, как область текста ведет себя на странице. Есть ли что-нибудь, что можно добавить к шаблону, чтобы заставить это работать, или пользовательский тег, который бы это сделал? Здесь div заполняется и редактируется, но он не записывает измененное содержимое.

Если я заменил его уродливым textarea, он отлично работает.

Я уверен, что я мог бы взломать это с помощью скрытого ввода и некоторого jquery, но я бы предпочел не делать этого.

<script id="lcaSummaryBodyTemplate" type="text/x-jsrender">
    {^{for items}}
        <div class="bodyItem">
            <div class="colDec">
                <p>{{>title}}</p>
                {^{if type == "select"}}
                    <select data-link="val">
                        {^{for options}}
                            <option value="{{:value}}">{{:text}}</option>
                        {{/for}}
                    </select>
                {{else}}
                    {^{if type == "date"}}
                        <input data-link="val" class="date" />
                    {{else}}
                        <div data-link="val" contentEditable="true"></div>
                    {{/if}}
                {{/if}}
            </div>
            <div class="colHist">
                <p>{{>title}}</p>
                {{if type == "date"}}
                    <div class="date" data-link="histVal"></div>
                {{else}}
                    <div>{{>histVal}}</div>
                {{/if}}
            </div>
        </div>
    {{/for}}
</script>
Теги:
contenteditable
jsviews

1 ответ

0

В настоящее время он не поддерживается JsViews, но он запланирован и должен скоро появиться. Я обновлю это, когда оно станет доступным...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню