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 に答える