私は検索ボックスを実装しようとしています。次は何が起こっている何のコード(HTMLとJSの両方)空のテキスト入力ボックスの値は何ですか?
HTML
<form>
<input type="text" ng-model="searchVar" class="searchbox">
<input type="button" value="Search" ng-click="Search()" class="button">
</form>
JS
var Search = function() {
/* code to implement the table content loading part */
//The following is what I have to filter out the table contents based on input in the text field
if (($scope.searchVar) && (tableContent[i].indexOf($scope.searchVar) !== -1)) {
ItemsToDisplay.push(tableContent[i])
}
//Call function to load table
}
である私は、入力されたテキストの中にいくつかの文字列を入力すると、ということです検索アルゴリズムは正常に機能し、関連する項目だけが表示されます。ただし、検索ボックスの内容をクリアして[検索]ボタンをクリックすると、テーブルに何も表示されません。つまり、テキストフィールドがクリアされ、検索ボタンでクリックされると、ItemsToDisplayが空で、if条件が失敗したようになります。
これがなぜこのように説明できますか?そして私はこれをどのように解決することができますか?あなたが入力をクリアした場合
フォーム制御値は常に文字列です。デフォルト値は空の文字列です。 AngularJSを使用しているようですが、そのためにタグを追加するとよいでしょう。 – RobG
私は=== ""のチェックを試みましたが、それでも動作しません。空の文字列をチェックするにはどうしたらいいですか? – Rambabu
デフォルト値は「未定義」です。あなたは一重引用符や二重引用符を使わずにundefinedを与えることができます – Guna