gpt4 book ai didi

jquery自动完成显示id而不是标签

转载 作者:行者123 更新时间:2023-12-03 22:55:19 25 4
gpt4 key购买 nike

我正在使用 jquery 的自动完成功能,它工作得很好,除了当我从下拉列表中选择某些内容时,输入字段会填充值而不是标签。

我的代码如下:

 <?php
$query = mysql_query("SELECT users.* FROM users JOIN peers ON peers.peer = users.user_id WHERE peers.user_id = '".$_SESSION['id']."'")or die(mysql_error());
$count = mysql_num_rows($query);
$i = 0;

while($row = mysql_fetch_assoc($query))
{
$first[$i] = $row['first_name'];
$last[$i] = $row['last_name'];
$user_id[$i] = $row['user_id'];

$i++;
}

$data = "";

for($i=0;$i<$count;$i++)
{
if($i != ($count-1))
{
$data .= '{ value: '.$user_id[$i].', label: "'.$first[$i].' '.$last[$i].'" }, ';
} else
{
$data .= '{ value: '.$user_id[$i].', label: "'.$first[$i].' '.$last[$i].'" }';
}
}
?>
<script type="text/javascript">
$("#auto").autocomplete({
source: data,
select: function(event, ui)
{
var id = ui.item.value;
var name = ui.item.label;
}
});
</script>

<input type="text" value="Enter a connection's name" id="auto" />

最佳答案

select 事件的默认行为是使用 ui.item.value 更新输入。此代码在您的事件处理程序之后运行。

只需返回 false 或调用 event.preventDefault() 即可防止这种情况发生。试试这个,

<script type="text/javascript">
$("#auto").autocomplete({
source: data,
select: function(event, ui)
{
var id = ui.item.value;
var name = ui.item.label;
$("#auto").val(name);
return false;
},
focus: function(event, ui){
return false;
}
});
</script>

关于jquery自动完成显示id而不是标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10406476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com