ラベルタグの形式は次のとおりです。
<label for="id_of_text_field">
<input type="text" name="example" id="id_of_text_field" />
for
ラベルのid
タグとテキストフィールドのタグが一致する必要がある場所。Ember.jsテンプレートでこれを機能させるための2つのアイデアがありました。
アイデア#1:field_id
との両方で使用する名前の特別なバインディングを作成しようとしましlabel
たTextField
。私はこれを次のように実行しました:
<label {{bindAttr for="content.field_id"}}> {{content.label}}</label>
{{view Ember.TextField valueBinding="content.data" id="content.field_id"}}
残念ながら、label's
IDのみが正しくレンダリングされます。TextField's
idは正しくレンダリングされず、「metemorph...something-or-other」であることがわかります。
アイデア#2:何らかの方法でTextFieldのIDを作成し、それをラベルタグに使用しますが、ある時点で、ラベルタグがレンダリングされたときにTextFieldのIDの準備ができていないのではないかと心配しています。TextField's
これが問題ではなかったとしても、JSからIDを見つける方法がわかりません。
これはテンプレートに含まれているため、これらのラベルとテキストフィールドのペアが複数あります。
ラベルのタグをEmber.jsfor
のTextFieldのタグと一致させるにはどうすればよいですか?id
ありがとうございました!
アップデート
Peter Wagenetのアドバイスとわずかな修正を使用して、私は次のことを行いました。
<label {{bindAttr for="textField.elementId"}}> {{content.label}}</label>
{{view Ember.TextField valueBinding="content.value" viewName="textField"}}
この手法を使用すると、ユーザーはラベルをクリックして、TextFields、CheckBoxes、およびSelectsを選択できるようになります。