//智能搜索提示
IntelligenceSearch: function IntelligenceSearch() {
$('#keyWord').on('input', function () {
if ($(this).prop('comStart')) return; // 中文輸入過程中不截斷
var url = $('#hKeyWord').val();
var data = { keyword: $('#keyWord').val() };
$('#words').html('');
imcis.ajax(url, data, false, function (data) {
var option = "";
$.each(data, function (key, value) {
option += '<option value=' + value + '>';
});
$('#words').html(option);
//alert('H');
});
}).on('compositionstart', function () {
$(this).prop('comStart', true);
}).on('compositionend', function () {
$(this).prop('comStart', false);
});
}
HTML以及加載方法:
<input list="words" autocomplete="off" id="keyWord" style="font-size:12px;" type="text" placeholder="請輸入關鍵字" />
<datalist id="words" style="background:red">
@*<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
<option value="Sogou">*@
</datalist>
采用H5的datalist去提示
$(function () {
MedicalCase.IntelligenceSearch();
});
前台加載一下
具體的原理如下:
$(function () {
$('#text').on('input', function () {
if ($(this).prop('comStart')) return; // 中文輸入過程中不截斷
var value = $(this).val();
console.log('當前輸入:' + value);
//if (Str.byteLen(value, 3) > 24) {
// $(this).val(Str.getMaxlen(value, 24));
//}
}).on('compositionstart', function () {
$(this).prop('comStart', true);
console.log('中文輸入:開始');
}).on('compositionend', function () {
$(this).prop('comStart', false);
console.log('中文輸入:結束');
});
})
開始和結束代表着事件的開始捕捉和結束捕捉
,這個做的更好一些能在后台加入緩存處理嗎。還請大神指教
積累小的知識,才能成就大的智慧

