从自动完成中删除字符

时间:2014-08-28 13:30:38

标签: jquery

点击我的自动填充功能后,我正试图删除(包括),后的所有内容。

到目前为止,我已经尝试过这个:

select: function(event, ui) { 
var str = $("#site_search").val(ui.item.label); 
this.value = str.split(",")[0];     
return false;

不幸的是,我得到的是:TypeError: str.split is not a function

编辑:应该更清楚,在我的自动填充列表中,它会显示如下结果:

Hello, World

选择内容时,在文本字段中应该只显示Hello

2 个答案:

答案 0 :(得分:1)

您需要使用val()

select: function(event, ui) { 
var str = $("#site_search").val(ui.item.label); 
this.value = str.val().split(",")[0];
//            --^--     
return false;

$("#site_search").val(ui.item.label);将返回jQuery对象而不是字符串。

<强> Documentation : val()

答案 1 :(得分:0)

基本上,这一行var str = $("#site_search").val(ui.item.label);是错误的。因为.val('somevalue')返回的jQuery对象没有split方法。

您应该使用:

var str = $("#site_search").val();

为清楚起见

.val(); //getter; returns String
.val('somevalue'); //setter; returns the jQuery element