0

我正在使用 jQuery UI 自动完成插件,如果没有找到结果,我想显示一些文本。我已经看到很多使用远程数据集执行此操作的示例,但我将源设置为本地 JSON 数组。这是我现在正在使用的代码,它隐藏了所有与所选值不匹配的行。当用户键入与任何可用标签都不匹配的文本时,我想隐藏所有行并在文本框中显示“未找到条目”

$( "#archiveVendor" ).autocomplete({
    source: availableTags,
    select: function(event, ui){
        var emptyRow = '<tr class="emptyArchive"><td class="approved_content">---</td><td>---</td><td>---</td><td class="payment_status">---</td></tr>';
        $('.archive_inner .emptyArchive').remove();
        $('.archive_inner tr').show().filter(function(index){
            var tds = $(this).children('td');
            if($(tds).length == 4){
                if($(tds[1]).text() == '---'){
                    return false;
                }
                var title = $(tds[0]).attr('title');
                return title === ui.item.value ? false : true;
            }
        }).hide();

        if($('.archive_approved tr:visible').length == 1){
            $('.archive_approved tbody').append(emptyRow);
        }
        if($('.archive_denied tr:visible').length == 1){
            $('.archive_denied tbody').append(emptyRow);
        }
    }
});
4

1 回答 1

0

也许您可以将 ui.item.value 与数组进行比较?

if(jQuery.inArray(ui.item.value, json_array) == -1) { add text to right field and hide() other fields }
于 2012-07-19T23:39:06.797 回答