基本的に検索バーであるコンポーネントを作成しようとしています。バックエンドのこれらの検索バーは、検索対象となるすべての用語を 'と'一緒にします。Knockoutjsコンポーネントがjs関数を使用できない
私はコンポーネントを作成し、それを見ることができます。私のCSSは正常に動作していますが、ラベルをアニメーション化するために使用しようとしているjs関数が何らかの理由で実行されません。これはもちろん問題の1つだけです。私はすでにidにラベルを接続し、idは一度しか使用できないので、それを作っているので、私は2番目またはn番目のバーを検索することができません。ラベル。
どのように私はコンポーネントでこれらの問題を回避するためのアイデアですか?ここで
は私のコンポーネントのコードです:ここで
ko.components.register('andBlock', {
template:
'<div class="andDisplay"> \
<div class="initalAndOutput"> \
<p class="orTermHeader" data-bind=""></p> \
<span class="orTermList" data-bind=""></span> \
</div> \
<div class="searchForm andSearchForm" action=""> \
<div class="andSearchBar"> \
<label for="twoSearch">Add search term</label> \
<input id="twoSearch" class="andSearch searching autocomplete" name="search" type="text" data-bind="" /> \
<span class="searchIcon"><a class="mdi mdi-magnify mdi-18px" href="#"></a> \
</div> \
</div> \
</div>'
});
は、私が実行しようとしていますjqueryの関数である:
$(function() {
$('.andSearch').keyup(function() {
$('.andSearchBar').addClass('typing');
if($(this).val().length === 0) {
$('.andSearchBar').removeClass('typing');
}
});
});
は、これは私がHTMLのコンポーネントを取り込むためにやっているすべてです:
<div data-bind="foreach: andsCollection">
<div data-bind="component: 'andBlock'"></div>
</div>
なぜ私は完全にそれを見たかわかりません。ありがとうございました!どのように私はknockoutjsコンポーネント内のIDの問題に対処することができますか? – Helper
冗長IDを意味しますか?そうであれば、 'andsCollection'項目(例えば' data-bind = "attr:{id: 'twoSearch' + $ data.id()}")からIDをインクリメントしたIDを追加することができます。 IDのアイデアとちょうどクラスを使用します。 – Adrian