2016-12-11 6 views
0

現在、ノックアウトアプリケーションの検索機能を行っています。現在、商品名の最初の文字で商品を除外するこれらのコード行があります。 stringStartsWithの代わりにStringと一致する配列全体を検索するようにする方法はありますか?stringStartsWith以外のknockout.jsの検索機能には何がありますか?

self.searchrice = ko.computed(function() { 
    if (!self.searchString()) { 
     return self.rice(); 
    } else { 
     return ko.utils.arrayFilter(self.rice(), function (product) { 
      return ko.utils.stringStartsWith(product.name.toUpperCase(), self.searchString().toUpperCase()); 
     }); 
    } 
}); 

お時間をいただきありがとうございます。

+0

したがって、正確に一致する結果のみを返す検索機能を作成しますか?だから、 'Test'は' T'や 'Te'や' Tes'にマッチしなくなりましたか? – user3297291

+0

'stringStartsWith'はノックアウトによって内部的に使用されているため(おそらく)そこにあることを覚えておいてください。それ以外のものはまだJavaScriptだけなので、文字列操作のための検索をノックアウトの機能に制限しないでください.JavaScriptの完全な使用が可能です。 –

+3

このコードは書いていませんか?なぜなら、このコードを自分で書いたのであれば、あなた自身の質問に答えるだけで十分です。このコードを自分で書いていないのであれば、実際には理解できない変更を人に依頼するのではなく、まずそれを理解する時間が必要です。 – Tomalak

答えて

0
self.searchrice = ko.computed(function() { 
    if (!self.searchString()) { 
     return self.rice(); 
    } else { 
     return ko.utils.arrayFilter(self.rice(), function (product) { 
       return (product.name.toUpperCase().indexOf(self.searchString().toUpperCase()) != -1); 
     }); 
    } 
}); 
関連する問題