Jquery typeahead:在最后一个匹配字母后剪裁的选定值

Jquery typeahead:在最后一个匹配字母后剪裁的选定值,jquery,typeahead.js,Jquery,Typeahead.js,前面有个奇怪的问题 <div class="span6 float_r"> <div class="control-group"> <label class="control-label" for="drpProfession">Profession/Occupation:</label> <div class="controls">

前面有个奇怪的问题

    <div class="span6 float_r">
        <div class="control-group">
            <label class="control-label" for="drpProfession">Profession/Occupation:</label>
            <div class="controls">
                <input type="text" id="drpProfession" name="drpProfession" value="<?=$professionCurrentLabel;?>" placeholder="Search for profession"><a href="#" class="small" onclick="javascript: $('#drpProfession').val('');; $('#drpProfessionID').val('');">clear</a>
                <input type="hidden" id="drpProfessionID" name="drpProfessionID" value="<?=$professionCurrentId;?>">
            </div>
        </div>
<script type="text/javascript">
    var professionLabelFieldID = 'drpProfession';
    var professionIdFieldID = 'drpProfessionID';
    var professionsValues = <?=$optionsProfessionValues?>;
    var professionsLabels = <?=$optionsProfessionLabels?>;
    prepProfessionAutocomplete(professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID);

function prepProfessionAutocomplete (professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID) {
    $(document).ready(function() {
        $('#'+professionLabelFieldID).autocomplete({
            delay: 0,
            autoFocus: true,
            source: professionsLabels,
            select: function( event, ui ) {
                var professionName = ui.item.label;
                var professionID = 0;
                var professionValueIndex = professionsLabels.indexOf(professionName);
                var professionDbID = professionsValues[professionValueIndex];
                if (professionName.length > 0 && professionDbID > 0) {
                    professionID = professionDbID;
                }
                $('#'+professionIdFieldID).val(professionID);
                console.log(professionName);
                return true;
            }
        }).keyup(function() {
            // Upper case values in case user is entering new ones
            this.value = ucwords(this.value);
        });
   });
   $('#'+professionLabelFieldID).change(function() {
      if ($('#'+professionLabelFieldID).val() == '') {
          // user "deleted" profession. Capture it
          $('#'+professionIdFieldID).val('');
      }
   });
}
</script>
键入W,例如,然后选择此值:

    <div class="span6 float_r">
        <div class="control-group">
            <label class="control-label" for="drpProfession">Profession/Occupation:</label>
            <div class="controls">
                <input type="text" id="drpProfession" name="drpProfession" value="<?=$professionCurrentLabel;?>" placeholder="Search for profession"><a href="#" class="small" onclick="javascript: $('#drpProfession').val('');; $('#drpProfessionID').val('');">clear</a>
                <input type="hidden" id="drpProfessionID" name="drpProfessionID" value="<?=$professionCurrentId;?>">
            </div>
        </div>
<script type="text/javascript">
    var professionLabelFieldID = 'drpProfession';
    var professionIdFieldID = 'drpProfessionID';
    var professionsValues = <?=$optionsProfessionValues?>;
    var professionsLabels = <?=$optionsProfessionLabels?>;
    prepProfessionAutocomplete(professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID);

function prepProfessionAutocomplete (professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID) {
    $(document).ready(function() {
        $('#'+professionLabelFieldID).autocomplete({
            delay: 0,
            autoFocus: true,
            source: professionsLabels,
            select: function( event, ui ) {
                var professionName = ui.item.label;
                var professionID = 0;
                var professionValueIndex = professionsLabels.indexOf(professionName);
                var professionDbID = professionsValues[professionValueIndex];
                if (professionName.length > 0 && professionDbID > 0) {
                    professionID = professionDbID;
                }
                $('#'+professionIdFieldID).val(professionID);
                console.log(professionName);
                return true;
            }
        }).keyup(function() {
            // Upper case values in case user is entering new ones
            this.value = ucwords(this.value);
        });
   });
   $('#'+professionLabelFieldID).change(function() {
      if ($('#'+professionLabelFieldID).val() == '') {
          // user "deleted" profession. Capture it
          $('#'+professionIdFieldID).val('');
      }
   });
}
</script>
产生以下结果:

    <div class="span6 float_r">
        <div class="control-group">
            <label class="control-label" for="drpProfession">Profession/Occupation:</label>
            <div class="controls">
                <input type="text" id="drpProfession" name="drpProfession" value="<?=$professionCurrentLabel;?>" placeholder="Search for profession"><a href="#" class="small" onclick="javascript: $('#drpProfession').val('');; $('#drpProfessionID').val('');">clear</a>
                <input type="hidden" id="drpProfessionID" name="drpProfessionID" value="<?=$professionCurrentId;?>">
            </div>
        </div>
<script type="text/javascript">
    var professionLabelFieldID = 'drpProfession';
    var professionIdFieldID = 'drpProfessionID';
    var professionsValues = <?=$optionsProfessionValues?>;
    var professionsLabels = <?=$optionsProfessionLabels?>;
    prepProfessionAutocomplete(professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID);

function prepProfessionAutocomplete (professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID) {
    $(document).ready(function() {
        $('#'+professionLabelFieldID).autocomplete({
            delay: 0,
            autoFocus: true,
            source: professionsLabels,
            select: function( event, ui ) {
                var professionName = ui.item.label;
                var professionID = 0;
                var professionValueIndex = professionsLabels.indexOf(professionName);
                var professionDbID = professionsValues[professionValueIndex];
                if (professionName.length > 0 && professionDbID > 0) {
                    professionID = professionDbID;
                }
                $('#'+professionIdFieldID).val(professionID);
                console.log(professionName);
                return true;
            }
        }).keyup(function() {
            // Upper case values in case user is entering new ones
            this.value = ucwords(this.value);
        });
   });
   $('#'+professionLabelFieldID).change(function() {
      if ($('#'+professionLabelFieldID).val() == '') {
          // user "deleted" profession. Capture it
          $('#'+professionIdFieldID).val('');
      }
   });
}
</script>
在自动完成选择功能中执行此操作时:

select: function( event, ui ) {
    var professionName = ui.item.label;
    console.log(professionName);
}
    <div class="span6 float_r">
        <div class="control-group">
            <label class="control-label" for="drpProfession">Profession/Occupation:</label>
            <div class="controls">
                <input type="text" id="drpProfession" name="drpProfession" value="<?=$professionCurrentLabel;?>" placeholder="Search for profession"><a href="#" class="small" onclick="javascript: $('#drpProfession').val('');; $('#drpProfessionID').val('');">clear</a>
                <input type="hidden" id="drpProfessionID" name="drpProfessionID" value="<?=$professionCurrentId;?>">
            </div>
        </div>
<script type="text/javascript">
    var professionLabelFieldID = 'drpProfession';
    var professionIdFieldID = 'drpProfessionID';
    var professionsValues = <?=$optionsProfessionValues?>;
    var professionsLabels = <?=$optionsProfessionLabels?>;
    prepProfessionAutocomplete(professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID);

function prepProfessionAutocomplete (professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID) {
    $(document).ready(function() {
        $('#'+professionLabelFieldID).autocomplete({
            delay: 0,
            autoFocus: true,
            source: professionsLabels,
            select: function( event, ui ) {
                var professionName = ui.item.label;
                var professionID = 0;
                var professionValueIndex = professionsLabels.indexOf(professionName);
                var professionDbID = professionsValues[professionValueIndex];
                if (professionName.length > 0 && professionDbID > 0) {
                    professionID = professionDbID;
                }
                $('#'+professionIdFieldID).val(professionID);
                console.log(professionName);
                return true;
            }
        }).keyup(function() {
            // Upper case values in case user is entering new ones
            this.value = ucwords(this.value);
        });
   });
   $('#'+professionLabelFieldID).change(function() {
      if ($('#'+professionLabelFieldID).val() == '') {
          // user "deleted" profession. Capture it
          $('#'+professionIdFieldID).val('');
      }
   });
}
</script>
奇异-项目标签仅由突出显示的字母后面的文本组成

    <div class="span6 float_r">
        <div class="control-group">
            <label class="control-label" for="drpProfession">Profession/Occupation:</label>
            <div class="controls">
                <input type="text" id="drpProfession" name="drpProfession" value="<?=$professionCurrentLabel;?>" placeholder="Search for profession"><a href="#" class="small" onclick="javascript: $('#drpProfession').val('');; $('#drpProfessionID').val('');">clear</a>
                <input type="hidden" id="drpProfessionID" name="drpProfessionID" value="<?=$professionCurrentId;?>">
            </div>
        </div>
<script type="text/javascript">
    var professionLabelFieldID = 'drpProfession';
    var professionIdFieldID = 'drpProfessionID';
    var professionsValues = <?=$optionsProfessionValues?>;
    var professionsLabels = <?=$optionsProfessionLabels?>;
    prepProfessionAutocomplete(professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID);

function prepProfessionAutocomplete (professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID) {
    $(document).ready(function() {
        $('#'+professionLabelFieldID).autocomplete({
            delay: 0,
            autoFocus: true,
            source: professionsLabels,
            select: function( event, ui ) {
                var professionName = ui.item.label;
                var professionID = 0;
                var professionValueIndex = professionsLabels.indexOf(professionName);
                var professionDbID = professionsValues[professionValueIndex];
                if (professionName.length > 0 && professionDbID > 0) {
                    professionID = professionDbID;
                }
                $('#'+professionIdFieldID).val(professionID);
                console.log(professionName);
                return true;
            }
        }).keyup(function() {
            // Upper case values in case user is entering new ones
            this.value = ucwords(this.value);
        });
   });
   $('#'+professionLabelFieldID).change(function() {
      if ($('#'+professionLabelFieldID).val() == '') {
          // user "deleted" profession. Capture it
          $('#'+professionIdFieldID).val('');
      }
   });
}
</script>
想法

    <div class="span6 float_r">
        <div class="control-group">
            <label class="control-label" for="drpProfession">Profession/Occupation:</label>
            <div class="controls">
                <input type="text" id="drpProfession" name="drpProfession" value="<?=$professionCurrentLabel;?>" placeholder="Search for profession"><a href="#" class="small" onclick="javascript: $('#drpProfession').val('');; $('#drpProfessionID').val('');">clear</a>
                <input type="hidden" id="drpProfessionID" name="drpProfessionID" value="<?=$professionCurrentId;?>">
            </div>
        </div>
<script type="text/javascript">
    var professionLabelFieldID = 'drpProfession';
    var professionIdFieldID = 'drpProfessionID';
    var professionsValues = <?=$optionsProfessionValues?>;
    var professionsLabels = <?=$optionsProfessionLabels?>;
    prepProfessionAutocomplete(professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID);

function prepProfessionAutocomplete (professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID) {
    $(document).ready(function() {
        $('#'+professionLabelFieldID).autocomplete({
            delay: 0,
            autoFocus: true,
            source: professionsLabels,
            select: function( event, ui ) {
                var professionName = ui.item.label;
                var professionID = 0;
                var professionValueIndex = professionsLabels.indexOf(professionName);
                var professionDbID = professionsValues[professionValueIndex];
                if (professionName.length > 0 && professionDbID > 0) {
                    professionID = professionDbID;
                }
                $('#'+professionIdFieldID).val(professionID);
                console.log(professionName);
                return true;
            }
        }).keyup(function() {
            // Upper case values in case user is entering new ones
            this.value = ucwords(this.value);
        });
   });
   $('#'+professionLabelFieldID).change(function() {
      if ($('#'+professionLabelFieldID).val() == '') {
          // user "deleted" profession. Capture it
          $('#'+professionIdFieldID).val('');
      }
   });
}
</script>
谢谢

    <div class="span6 float_r">
        <div class="control-group">
            <label class="control-label" for="drpProfession">Profession/Occupation:</label>
            <div class="controls">
                <input type="text" id="drpProfession" name="drpProfession" value="<?=$professionCurrentLabel;?>" placeholder="Search for profession"><a href="#" class="small" onclick="javascript: $('#drpProfession').val('');; $('#drpProfessionID').val('');">clear</a>
                <input type="hidden" id="drpProfessionID" name="drpProfessionID" value="<?=$professionCurrentId;?>">
            </div>
        </div>
<script type="text/javascript">
    var professionLabelFieldID = 'drpProfession';
    var professionIdFieldID = 'drpProfessionID';
    var professionsValues = <?=$optionsProfessionValues?>;
    var professionsLabels = <?=$optionsProfessionLabels?>;
    prepProfessionAutocomplete(professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID);

function prepProfessionAutocomplete (professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID) {
    $(document).ready(function() {
        $('#'+professionLabelFieldID).autocomplete({
            delay: 0,
            autoFocus: true,
            source: professionsLabels,
            select: function( event, ui ) {
                var professionName = ui.item.label;
                var professionID = 0;
                var professionValueIndex = professionsLabels.indexOf(professionName);
                var professionDbID = professionsValues[professionValueIndex];
                if (professionName.length > 0 && professionDbID > 0) {
                    professionID = professionDbID;
                }
                $('#'+professionIdFieldID).val(professionID);
                console.log(professionName);
                return true;
            }
        }).keyup(function() {
            // Upper case values in case user is entering new ones
            this.value = ucwords(this.value);
        });
   });
   $('#'+professionLabelFieldID).change(function() {
      if ($('#'+professionLabelFieldID).val() == '') {
          // user "deleted" profession. Capture it
          $('#'+professionIdFieldID).val('');
      }
   });
}
</script>
[编辑]

    <div class="span6 float_r">
        <div class="control-group">
            <label class="control-label" for="drpProfession">Profession/Occupation:</label>
            <div class="controls">
                <input type="text" id="drpProfession" name="drpProfession" value="<?=$professionCurrentLabel;?>" placeholder="Search for profession"><a href="#" class="small" onclick="javascript: $('#drpProfession').val('');; $('#drpProfessionID').val('');">clear</a>
                <input type="hidden" id="drpProfessionID" name="drpProfessionID" value="<?=$professionCurrentId;?>">
            </div>
        </div>
<script type="text/javascript">
    var professionLabelFieldID = 'drpProfession';
    var professionIdFieldID = 'drpProfessionID';
    var professionsValues = <?=$optionsProfessionValues?>;
    var professionsLabels = <?=$optionsProfessionLabels?>;
    prepProfessionAutocomplete(professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID);

function prepProfessionAutocomplete (professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID) {
    $(document).ready(function() {
        $('#'+professionLabelFieldID).autocomplete({
            delay: 0,
            autoFocus: true,
            source: professionsLabels,
            select: function( event, ui ) {
                var professionName = ui.item.label;
                var professionID = 0;
                var professionValueIndex = professionsLabels.indexOf(professionName);
                var professionDbID = professionsValues[professionValueIndex];
                if (professionName.length > 0 && professionDbID > 0) {
                    professionID = professionDbID;
                }
                $('#'+professionIdFieldID).val(professionID);
                console.log(professionName);
                return true;
            }
        }).keyup(function() {
            // Upper case values in case user is entering new ones
            this.value = ucwords(this.value);
        });
   });
   $('#'+professionLabelFieldID).change(function() {
      if ($('#'+professionLabelFieldID).val() == '') {
          // user "deleted" profession. Capture it
          $('#'+professionIdFieldID).val('');
      }
   });
}
</script>
这是HTML和javascript,按要求提供。Typeahead是版本0.12.2

    <div class="span6 float_r">
        <div class="control-group">
            <label class="control-label" for="drpProfession">Profession/Occupation:</label>
            <div class="controls">
                <input type="text" id="drpProfession" name="drpProfession" value="<?=$professionCurrentLabel;?>" placeholder="Search for profession"><a href="#" class="small" onclick="javascript: $('#drpProfession').val('');; $('#drpProfessionID').val('');">clear</a>
                <input type="hidden" id="drpProfessionID" name="drpProfessionID" value="<?=$professionCurrentId;?>">
            </div>
        </div>
<script type="text/javascript">
    var professionLabelFieldID = 'drpProfession';
    var professionIdFieldID = 'drpProfessionID';
    var professionsValues = <?=$optionsProfessionValues?>;
    var professionsLabels = <?=$optionsProfessionLabels?>;
    prepProfessionAutocomplete(professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID);

function prepProfessionAutocomplete (professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID) {
    $(document).ready(function() {
        $('#'+professionLabelFieldID).autocomplete({
            delay: 0,
            autoFocus: true,
            source: professionsLabels,
            select: function( event, ui ) {
                var professionName = ui.item.label;
                var professionID = 0;
                var professionValueIndex = professionsLabels.indexOf(professionName);
                var professionDbID = professionsValues[professionValueIndex];
                if (professionName.length > 0 && professionDbID > 0) {
                    professionID = professionDbID;
                }
                $('#'+professionIdFieldID).val(professionID);
                console.log(professionName);
                return true;
            }
        }).keyup(function() {
            // Upper case values in case user is entering new ones
            this.value = ucwords(this.value);
        });
   });
   $('#'+professionLabelFieldID).change(function() {
      if ($('#'+professionLabelFieldID).val() == '') {
          // user "deleted" profession. Capture it
          $('#'+professionIdFieldID).val('');
      }
   });
}
</script>
一个简单的改变

    <div class="span6 float_r">
        <div class="control-group">
            <label class="control-label" for="drpProfession">Profession/Occupation:</label>
            <div class="controls">
                <input type="text" id="drpProfession" name="drpProfession" value="<?=$professionCurrentLabel;?>" placeholder="Search for profession"><a href="#" class="small" onclick="javascript: $('#drpProfession').val('');; $('#drpProfessionID').val('');">clear</a>
                <input type="hidden" id="drpProfessionID" name="drpProfessionID" value="<?=$professionCurrentId;?>">
            </div>
        </div>
<script type="text/javascript">
    var professionLabelFieldID = 'drpProfession';
    var professionIdFieldID = 'drpProfessionID';
    var professionsValues = <?=$optionsProfessionValues?>;
    var professionsLabels = <?=$optionsProfessionLabels?>;
    prepProfessionAutocomplete(professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID);

function prepProfessionAutocomplete (professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID) {
    $(document).ready(function() {
        $('#'+professionLabelFieldID).autocomplete({
            delay: 0,
            autoFocus: true,
            source: professionsLabels,
            select: function( event, ui ) {
                var professionName = ui.item.label;
                var professionID = 0;
                var professionValueIndex = professionsLabels.indexOf(professionName);
                var professionDbID = professionsValues[professionValueIndex];
                if (professionName.length > 0 && professionDbID > 0) {
                    professionID = professionDbID;
                }
                $('#'+professionIdFieldID).val(professionID);
                console.log(professionName);
                return true;
            }
        }).keyup(function() {
            // Upper case values in case user is entering new ones
            this.value = ucwords(this.value);
        });
   });
   $('#'+professionLabelFieldID).change(function() {
      if ($('#'+professionLabelFieldID).val() == '') {
          // user "deleted" profession. Capture it
          $('#'+professionIdFieldID).val('');
      }
   });
}
</script>
由此:

    <div class="span6 float_r">
        <div class="control-group">
            <label class="control-label" for="drpProfession">Profession/Occupation:</label>
            <div class="controls">
                <input type="text" id="drpProfession" name="drpProfession" value="<?=$professionCurrentLabel;?>" placeholder="Search for profession"><a href="#" class="small" onclick="javascript: $('#drpProfession').val('');; $('#drpProfessionID').val('');">clear</a>
                <input type="hidden" id="drpProfessionID" name="drpProfessionID" value="<?=$professionCurrentId;?>">
            </div>
        </div>
<script type="text/javascript">
    var professionLabelFieldID = 'drpProfession';
    var professionIdFieldID = 'drpProfessionID';
    var professionsValues = <?=$optionsProfessionValues?>;
    var professionsLabels = <?=$optionsProfessionLabels?>;
    prepProfessionAutocomplete(professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID);

function prepProfessionAutocomplete (professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID) {
    $(document).ready(function() {
        $('#'+professionLabelFieldID).autocomplete({
            delay: 0,
            autoFocus: true,
            source: professionsLabels,
            select: function( event, ui ) {
                var professionName = ui.item.label;
                var professionID = 0;
                var professionValueIndex = professionsLabels.indexOf(professionName);
                var professionDbID = professionsValues[professionValueIndex];
                if (professionName.length > 0 && professionDbID > 0) {
                    professionID = professionDbID;
                }
                $('#'+professionIdFieldID).val(professionID);
                console.log(professionName);
                return true;
            }
        }).keyup(function() {
            // Upper case values in case user is entering new ones
            this.value = ucwords(this.value);
        });
   });
   $('#'+professionLabelFieldID).change(function() {
      if ($('#'+professionLabelFieldID).val() == '') {
          // user "deleted" profession. Capture it
          $('#'+professionIdFieldID).val('');
      }
   });
}
</script>
var professionName = ui.item.label;
为此:

    <div class="span6 float_r">
        <div class="control-group">
            <label class="control-label" for="drpProfession">Profession/Occupation:</label>
            <div class="controls">
                <input type="text" id="drpProfession" name="drpProfession" value="<?=$professionCurrentLabel;?>" placeholder="Search for profession"><a href="#" class="small" onclick="javascript: $('#drpProfession').val('');; $('#drpProfessionID').val('');">clear</a>
                <input type="hidden" id="drpProfessionID" name="drpProfessionID" value="<?=$professionCurrentId;?>">
            </div>
        </div>
<script type="text/javascript">
    var professionLabelFieldID = 'drpProfession';
    var professionIdFieldID = 'drpProfessionID';
    var professionsValues = <?=$optionsProfessionValues?>;
    var professionsLabels = <?=$optionsProfessionLabels?>;
    prepProfessionAutocomplete(professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID);

function prepProfessionAutocomplete (professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID) {
    $(document).ready(function() {
        $('#'+professionLabelFieldID).autocomplete({
            delay: 0,
            autoFocus: true,
            source: professionsLabels,
            select: function( event, ui ) {
                var professionName = ui.item.label;
                var professionID = 0;
                var professionValueIndex = professionsLabels.indexOf(professionName);
                var professionDbID = professionsValues[professionValueIndex];
                if (professionName.length > 0 && professionDbID > 0) {
                    professionID = professionDbID;
                }
                $('#'+professionIdFieldID).val(professionID);
                console.log(professionName);
                return true;
            }
        }).keyup(function() {
            // Upper case values in case user is entering new ones
            this.value = ucwords(this.value);
        });
   });
   $('#'+professionLabelFieldID).change(function() {
      if ($('#'+professionLabelFieldID).val() == '') {
          // user "deleted" profession. Capture it
          $('#'+professionIdFieldID).val('');
      }
   });
}
</script>
var professionName = ui.item.value;
我从标签工作的bootstrap autocomplete开始,但切换到了typeahead,这一定打破了它。一切都准备好了

可以发布html、js和typeahead的源代码吗?
    <div class="span6 float_r">
        <div class="control-group">
            <label class="control-label" for="drpProfession">Profession/Occupation:</label>
            <div class="controls">
                <input type="text" id="drpProfession" name="drpProfession" value="<?=$professionCurrentLabel;?>" placeholder="Search for profession"><a href="#" class="small" onclick="javascript: $('#drpProfession').val('');; $('#drpProfessionID').val('');">clear</a>
                <input type="hidden" id="drpProfessionID" name="drpProfessionID" value="<?=$professionCurrentId;?>">
            </div>
        </div>
<script type="text/javascript">
    var professionLabelFieldID = 'drpProfession';
    var professionIdFieldID = 'drpProfessionID';
    var professionsValues = <?=$optionsProfessionValues?>;
    var professionsLabels = <?=$optionsProfessionLabels?>;
    prepProfessionAutocomplete(professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID);

function prepProfessionAutocomplete (professionsValues, professionsLabels, professionLabelFieldID, professionIdFieldID) {
    $(document).ready(function() {
        $('#'+professionLabelFieldID).autocomplete({
            delay: 0,
            autoFocus: true,
            source: professionsLabels,
            select: function( event, ui ) {
                var professionName = ui.item.label;
                var professionID = 0;
                var professionValueIndex = professionsLabels.indexOf(professionName);
                var professionDbID = professionsValues[professionValueIndex];
                if (professionName.length > 0 && professionDbID > 0) {
                    professionID = professionDbID;
                }
                $('#'+professionIdFieldID).val(professionID);
                console.log(professionName);
                return true;
            }
        }).keyup(function() {
            // Upper case values in case user is entering new ones
            this.value = ucwords(this.value);
        });
   });
   $('#'+professionLabelFieldID).change(function() {
      if ($('#'+professionLabelFieldID).val() == '') {
          // user "deleted" profession. Capture it
          $('#'+professionIdFieldID).val('');
      }
   });
}
</script>