Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The example below uses the Autocomplete element of jQueryUI and this sample code

 

Figure 1 : Adding a Text Field to the Form

First, add a Text Field element to the form and put "city" as field ID.

Next, add a Custom HTML element to the form and copy the following script into the Custom HTML property. 

Code Block
<script>
    $(function() {
        $( "[name$=city]" ).autocomplete({
            source: function( request, response ) {
                $.ajax({
                    url: "http://ws.geonames.org/searchJSON",
                    dataType: "jsonp",
                    data: {
                        featureClass: "P",
                        style: "full",
                        maxRows: 12,
                        name_startsWith: request.term
                    },
                    success: function( data ) {
                        response( $.map( data.geonames, function( item ) {
                            return {
                                label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,
                                value: item.name
                            }
                        }));
                    }
                });
            },
            minLength: 2
        });
    });
</script>


Figure 2 : Adding a Custom HTML Script to the Form 

Tip

Wiki Markup
1. By default, the js library file of jQuery and jQueryUI is included in the Joget form.
2. The "city" in "\[[name$=city]\]" in the code must be the same with that in your Field ID. 

After adding the script, click on Preview in Form Builder. Type "kua"; the text field will appear like this:


Figure 3 : Preview and Check Autocomplete Field 

A preview and check on the Autocomplete text field showed that it is working, although it looked a little unpleasant.  Adding the following CSS to the Custom HTML improved the way the Autocomplete text field looked.

Code Block
<style>
    .ui-autocomplete {
        background:#fff;
        border:#000 1px solid;
        list-style:none;
        padding: 5px;
        width: 250px;
    }
    .ui-menu-item:hover{
        background:#9CE9FF;
    }
</style>


Figure 3 : Completed Auto Complete Field