2017-07-13 10 views
0

私は下の問題に一日中直面しており、アドバイスをいただければ幸いです。JQueryオートコンプリートがすべての結果を表示していません

私はJQueryオートコンプリートを書いていますが、部分的な結果しか表示されていませんが、arraylistの結果のすべてが表示されるわけではありません。

customFilter関数でデバッグすると、には各行に期待される文字列が含まれており、termにはテキストボックスからの正しい入力データが含まれています。

function customFilter(array, terms) { 
    arrayOfTerms = terms.split(" "); 
    var term = $.map(arrayOfTerms, function (tm) { 
     return $.ui.autocomplete.escapeRegex(tm); 
    }).join('|'); 
    var matcher = new RegExp("\\b" + term, "i"); 
    return $.grep(array, function (value) { 
     return matcher.test(value.label || value.value || value); 
    }); 
}; 

$("#frmCode").autocomplete({ 
    multiple: true, 
    mustMatch: false, 
    minLength: 2, 
    source: function (request, response) { 
    response(customFilter(
    availableCode, request.term)); 
    } 
}); 

私は

var a = $.grep(autoData, function(value){ 
    var matcher = new RegExp("\\b" + term, "i"); 
    return matcher.test(term); 
}); 

を試してみましたが、それはどちらか動作しませんでした。この問題の原因を知ることができますか?

答えて

0

私は

var matcher = new RegExp("" + term, "i"); 

var matcher = new RegExp("\\b" + term, "i"); 

を変更し、それが今取り組んでいます。

console.log("result - " + matcher.test(value.label || value.value || value)); 

console.log("value - " + value) 

も、検証として期待される結果を示す。

関連する問題