2013-09-30 3 views
0

У меня есть форма с несколькими полями. Когда пользователь нажимает на одно из полей, div в стороне формы заполняется информацией об этом поле и как его наилучшим образом заполнить. Этот информационный div фактически является представлением, и я заполняю его текстом справки, назначая каждому полю атрибут tip. Код выглядит так:Связанный с формой в Ember.js

# form field 
Em.TextField valueBinding="name" tip="Put the <strong>name</strong> of your organization here." 

# views 
# Tip Box 
Whistlr.TipBoxView = Em.View.extend 
    templateName: 'tipBox' 
    classNames: ['ember-tip-box'] 
    content: "" 

    actions: 

    setContent: (content) -> 
     @set 'content', content 

# Text field 
Em.TextField.reopen 
    tip: '' 

    click: -> 
    Ember.View.views[$(".ember-form-info-box").attr('id')].set 'content', @tip 

# template 
== view.content 

Это работает достаточно хорошо, но одна часть меня действительно беспокоит меня. В частности, чтобы найти окно подсказки, я ищу его так: Ember.View.views[$(".ember-form-info-box").attr('id')]. Это работает до тех пор, пока у меня есть только одна форма с единственным видом наконечника, но она сломается, если у меня будет несколько. Сейчас это не проблема, но может представлять проблемы в будущем. Он также чувствует себя взломанным.

Есть ли более прямой способ связать представление с определенной формой?

ответ

1

Это похоже на чрезмерно сложный способ сделать это. Почему бы вам не использовать что-то вроде jQuery Tooltipster или CSS Tooltips?

+0

Потому что в ряде советов есть встроенные в них ссылки, к которым, к сожалению, не удалось получить всплывающие подсказки. – nullnullnull

+0

Собственно, неважно. Tooltipster кажется отличным вариантом для этого. Он обладает способностью связывания. – nullnullnull

+0

Да - вы также можете вручную открыть и закрыть всплывающую подсказку. См. Соответствующий раздел в документах Tooltipster. – chopper

Смежные вопросы