首页 > 解决方案 > jQuery自动完成组合框添加新项目?

问题描述

我目前想用“jQuery UI Autocomplete - Combobox”创建以下解决方案:我从数据库中加载条目,可以选择。如果某个值不存在,则应该让用户添加它的值。

我的基础目前是:https ://jqueryui.com/autocomplete/#combobox

现在我已经适应了“_removeIfInvalid: function(event, ui) ...”

我删除了“//删除无效值”部分并将其替换为以下行:

$('#name1').append('<option value='+ value + ' selected>'+ value + '</option>');

这也从原理上起作用。只有值“#name1”仍然是一个固定值,我目前无法以某种方式获得这个名称。使用“this.input.name”和类似的调用它不起作用。搜索并没有引导我找到解决方案。

为了我的目的,我有什么机会修改“//删除无效值”部分?

提前谢谢了。页面DE

_removeIfInvalid: function( event, ui ) {
        
        // Selected an item, nothing to do
        if ( ui.item ) {
            return;
        }
        
        // Search for a match (case-insensitive)
        var value = this.input.val(),
        valueLowerCase = value.toLowerCase(),
        valid = false;
        this.element.children( "option" ).each(function() {
            if ( $( this ).text().toLowerCase() === valueLowerCase ) {
                this.selected = valid = true;
                return false;
            }
        });
        
        // Found a match, nothing to do
        if ( valid ) {
            return;
        }
        
        
        
        $('#name1').append('<option value='+ value + ' selected>'+ value + '</option>');
        
        
        
    },

标签: jqueryjquery-uicomboboxautocomplete

解决方案


感谢您的意见。这对我帮助很大。

问题的解决方案:

$('#'+this.element.attr("id")).append('<option value='+ value + ' selected>'+ value + '</option>');

推荐阅读