输入查询智能提示

再jsp中添加div
jsp页面:

								<label class="label-item single-overflow pull-left"
									  >主管海关:</label>
								<div class=" input-group"  style=" width: 100%;">
									<input type="text" id="customnameId"  class="form-control form-size">
									<div id="auto_div"  style="height:150px; overflow:scroll" >
							        </div>
								</div> 

js页面:
$(function(){
initDataGrid(); //可忽略 页面加载方法
old_value = $("#customnameId").val();
KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲customnameId").…("#customnameId").val() == “”) {
AutoComplete(“auto_div”, “customnameId”, name_list);
}
});
KaTeX parse error: Expected '}', got 'EOF' at end of input: …>=0;i--){ //(’#search-result’).append(data[i].customsname+’
’);
name_list.push(data[i].customscode+" "+data[i].customsname);
}

})

$("#customnameId").keyup(function () {
	var q = $("#customnameId").val();
	
	if(isChinese(q)){
	    
		AutoComplete("auto_div", "customnameId", name_list);
	}else {

		AutoComplete("auto_div", "customnameId", name_list);
	}
	
	
    
});

});
//测试用的数据
var code_list = [];
var name_list = [];
//var test_list = [“小张”, “小苏”, “小杨”, “老张”, “老苏”, “老杨”, “老爷爷”, “小妹妹”, “老奶奶”, “大鹏”, “大明”, “大鹏展翅”, “你好”, “hello”, “hi”];
var old_value = “”;
var highlightindex = -1; //高亮

//自动完成
function AutoComplete(auto, search, mylist) {
if ($("#" + search).val() != old_value || old_value == “”) {
var autoNode = $("#" + auto); //缓存对象(弹出框)
var carlist = new Array();
var n = 0;
old_value = $("#" + search).val();

    for (i in mylist) {
        if (mylist[i].indexOf(old_value) >= 0) {
            carlist[n++] = mylist[i];
        }
    }
    if (carlist.length == 0) {
        autoNode.hide();
        return;
    }
    autoNode.empty();  //清空上次的记录
    for (i in carlist) {
        var wordNode = carlist[i];   //弹出框里的每一条内容

        var newDivNode = $("<div>").attr("id", i);    //设置每个节点的id值
        newDivNode.attr("style", "font:14px/25px arial;height:25px;padding:0 8px;cursor: pointer;");

        newDivNode.html(wordNode).appendTo(autoNode);  //追加到弹出框

        //鼠标移入高亮,移开不高亮
        newDivNode.mouseover(function () {
            if (highlightindex != -1) {        //原来高亮的节点要取消高亮(是-1就不需要了)
                autoNode.children("div").eq(highlightindex).css("background-color", "white");
            }
            //记录新的高亮节点索引
            highlightindex = $(this).attr("id");
            $(this).css("background-color", "#ebebeb");
        });
        newDivNode.mouseout(function () {
            $(this).css("background-color", "white");
        });

        //鼠标点击文字上屏
        newDivNode.click(function () {
            //取出高亮节点的文本内容
            var comText = autoNode.hide().children("div").eq(highlightindex).text();
            highlightindex = -1;
            //文本框中的内容变成高亮节点的内容
            $("#" + search).val(comText);
        })
        if (carlist.length > 0) {    //如果返回值有内容就显示出来
            autoNode.show();
        } else {               //服务器端无内容返回 那么隐藏弹出框
            autoNode.hide();
            //弹出框隐藏的同时,高亮节点索引值也变成-1
            highlightindex = -1;
        }
    }
}

//点击页面隐藏自动补全提示框
document.onclick = function (e) {
    var e = e ? e : window.event;
    var tar = e.srcElement || e.target;
    if (tar.id != search) {
        if ($("#" + auto).is(":visible")) {
            $("#" + auto).css("display", "none")
        }
    }
}

}

后台:就一个查询方法把数据查出来即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: WPF(Windows Presentation Foundation)是Microsoft公司推出的一种用于创建Windows应用程序的界面技术。在WPF中,TextBox是一种常见的控件,用于接收和显示用户输入的文本。 而智能提示(AutoComplete)是一种增强用户输入体验的功能,它可以根据用户已输入的内容自动筛选并显示可能的选项供用户选择。在WPF中,TextBox的智能提示可以通过使用相关的属性和事件来实现。 首先,可以使用IsEnabled属性来启用或禁用TextBox的智能提示功能。设置IsEnabled为true,即可开启智能提示功能,否则为禁用状态。 其次,可以使用ItemsSource属性来设置智能提示的数据源。数据源可以是一个集合(如List或ObservableCollection),其中包含了所有可能的选项。同时,还可以使用TextSearch.TextPath属性来设置在智能提示中显示的文本属性。 另外,可以使用TextChanged事件来处理用户输入内容的变化。在事件处理程序中,可以根据用户已输入的内容对数据源进行筛选,并将筛选结果通过Popup或ListBox等控件显示出来。 最后,可以通过一些其他属性和事件来自定义智能提示的外观和行为。例如,可以使用IsDropDownOpen属性来控制智能提示的显示与隐藏;可以使用TextChanged事件和LostFocus事件来判断用户是否取消了智能提示的选择;还可以使用KeyPress事件来处理用户键盘输入智能提示的交互等。 总之,通过设置TextBox的相关属性和事件,以及使用适当的控件和数据源,可以在WPF中实现TextBox的智能提示功能,提升用户输入的便捷性和准确性。 ### 回答2: WPF TextBox是用于用户输入文本的控件,而智能提示是一种辅助功能,可以提供用户输入时的自动完成和建议功能。 在WPF中,可以使用AutoCompleteBox控件来实现TextBox的智能提示功能。AutoCompleteBox控件通过绑定一个数据源,根据用户输入的内容自动匹配并显示相关的建议项。当用户输入时,控件会根据已有的数据源进行筛选,并将匹配的建议项显示在一个下拉列表中。 要实现智能提示功能,首先需要定义一个数据源,可以是一个字符串列表或是一个对象集合。然后,将数据源绑定到AutoCompleteBox的ItemsSource属性上。接下来,设置AutoCompleteBox的Text属性绑定到TextBox的Text属性上,这样当用户输入内容时,AutoCompleteBox会根据数据源进行匹配。 除了基本的匹配功能外,AutoCompleteBox还提供了其他一些有用的属性和事件。例如,可以通过设置MinimumPrefixLength属性来指定最小匹配前缀长度,即输入字符数量超过该值后才开始匹配建议项。还可以使用FilterMode属性来指定匹配模式,包括前缀匹配、任意位置匹配等。 此外,AutoCompleteBox还提供了一些事件,例如Populating事件可以用于动态加载数据源,TextChanged事件可以用于实时更新建议项。 总之,通过使用WPF中的AutoCompleteBox控件,可以很方便地为TextBox添加智能提示功能,提供更好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值