A `<tc:suggest/>` tag can be added to an inputfield to make suggestions based on the already entered text.

Tag Library Documentation: | |

After you type a character in the textfield, a list of suggestions is shown.

If `update="true"` the attribute `totalCount` should be set to improve performance. It set the amount of items loaded from the server.

The suggestion list is calculated in the controller. User the `query` attribute to pass the query string to the controller.

    <tc:in label="Language">
      <tc:suggest totalCount="10" query="\#{suggestController.query}">
        <tc:selectItems value="\#{suggestController.languages}" var="language" itemValue="\#{language}"/>
      </tc:suggest>
    </tc:in>

This example differs in a few points from the one in the 'Basics' section. There are only two suggestions shown to the user, because the `maximumItems` attribute is set to '2'. Also you need to type two characters before suggestions are made, because of the `minimumCharacters` attribute which has the value '2'. And by setting the `delay` to '2000', the user have to wait two seconds, before the suggestion list is shown.

    <tc:suggest query="\#{suggestController.query}"
                maximumItems="2" minimumCharacters="2" delay="2000">
      <tc:selectItems value="\#{suggestController.languages}" var="language" itemValue="\#{language}"/>
    </tc:suggest>

Filtering can also be done by the client. For that, set `update="false"`.

If client sided, you can also use `` instead of ``.

    <tc:suggest update="false"/>