Jquery 从自动完成中删除字符
当我在自动完成上单击某个内容时,我试图删除Jquery 从自动完成中删除字符,jquery,Jquery,当我在自动完成上单击某个内容时,我试图删除,之后(包括)的所有内容 到目前为止,我已经尝试过: select: function(event, ui) { var str = $("#site_search").val(ui.item.label); this.value = str.split(",")[0]; return false; 不幸的是,我得到的只是:TypeError:str.split不是一个函数 编辑:应该说得更清楚,在我的自动完成列表中,它会显示如下结果:
,
之后(包括)的所有内容
到目前为止,我已经尝试过:
select: function(event, ui) {
var str = $("#site_search").val(ui.item.label);
this.value = str.split(",")[0];
return false;
不幸的是,我得到的只是:TypeError:str.split不是一个函数
编辑:应该说得更清楚,在我的自动完成列表中,它会显示如下结果:
你好,世界
当选择某个内容时,在文本字段中只应显示
Hello
基本上,这一行var str=$(“#site_search”).val(ui.item.label)代码>是错误的。因为.val('somevalue')
返回的jQuery对象没有拆分方法
您应改为使用:
var str = $("#site_search").val();
为了清楚起见
您需要使用val()
$(“#站点搜索”).val(ui.item.label)
将返回jQuery对象,而不是字符串
我听不懂这句话<代码>var str=$(“#站点搜索”).val(ui.item.label)
trythis.value=str.val().split(“,”[0]
var str
不是实际的字符串,而是元素$(“#site_search”)
。通过使用该行,我了解了它的实际功能。它设置元素的值,然后将元素本身返回给变量。相当混乱。谢谢@PranavCBalan这么做,如果你想把它作为答案发布,我会接受它。实际上,.val()
正是为了返回对象的值。它返回对象本身,因为在同一行中OP正在设置该值。@MelanciaUK啊!对我没有使用“somevalue”部分,也没有把那行一分为二。一个设置值,另一个获取值并输入变量。这会使它更容易阅读。
.val(); //getter; returns String
.val('somevalue'); //setter; returns the jQuery element
select: function(event, ui) {
var str = $("#site_search").val(ui.item.label);
this.value = str.val().split(",")[0];
// --^--
return false;