我正在使用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);
}
}
});
答案 0 :(得分:0)
也许你可以将ui.item.value与数组进行比较?
if(jQuery.inArray(ui.item.value, json_array) == -1) { add text to right field and hide() other fields }