gpt4 book ai didi

php - jquery 自动完成,加入显示数据的最佳方式

转载 作者:行者123 更新时间:2023-11-30 06:36:13 24 4
gpt4 key购买 nike

为了简单起见,我使用了 jquery 自动完成功能,最好的方法是什么,在同一输入字段中加入/显示数组中的多行。

我的 php 看起来像这样

$return_arr = array();

/* If connection to database, run sql statement. */
if ($conn)
{
$fetch = mysql_query("SELECT * FROM alltickets where name like '%" . mysql_real_escape_string($_GET['term']) . "%'");

/* Retrieve and store in array the results of the query.*/
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
$row_array['id'] = $row['id'];
$row_array['value'] = $row['name'];
$row_array['thedate'] = $row['date'];

array_push($return_arr,$row_array);
}
}

/* Free connection resources. */
mysql_close($conn);

/* Toss back results as json encoded array. */
echo json_encode($return_arr);

我的 html 页面看起来像

>Please enter what you are looking for</p>

<p class="ui-widget">

<label for="event">Please start entering your event </label>

<input type="text" id="event" name="event" /></p>

<input type="hidden" id="mysqlid" name="mysqlid" />


<p><input type="submit" name="submitBtn" value="Submit" /></p>

</fieldset>
</form>

<script type="text/javascript">
$(function() {

$("#event").autocomplete({
source: "autocomp.php",
minLength: 2,
select: function(event, ui) {
$('#mysqlid').val(ui.item.id);
}
});

});
</script>

什么是最有效的方法让“日期”显示在名为事件的文本输入字段中,紧跟在“名称”之后

所以现在如果我搜索,“cam”结果将是这样

camera

我希望结果看起来像

camera 17/09/2013

我可以看到有几种方法可以做到这一点,最好的方法是什么?谢谢

最佳答案

最简单的方法可能是在 select 事件处理程序中执行此操作。记住也要防止事件的默认操作:

$("#event").autocomplete({
source: "autocomp.php",
minLength: 2,
select: function(event, ui) {
event.preventDefault();
this.value = ui.item.value + " " + ui.item.thedate;

$('#mysqlid').val(ui.item.id);
}
});

示例: http://jsfiddle.net/J5rVP/33/


如果你想在建议列表中显示日期,你有几个选择:

  1. 将要显示的整个字符串填充到 value 属性中(在服务器上完成)
  2. 操纵您从服务器获得的响应以正确填充 value 属性
  3. 覆盖 _renderItem 函数以按照您喜欢的方式显示项目。

在你的情况下,#3 似乎是最好的方法,所以你可以这样做:

$("#event").autocomplete({
source: "autocomp.php",
select: function (event, ui) {
event.preventDefault();
this.value = ui.item.value + " " + ui.item.thedate;
}
}).data("autocomplete")._renderItem = function (ul, item) {
return $("<li>")
.data("item.autocomplete", item)
.append("<a>" + item.label + " " + item.thedate + "</a>")
.appendTo(ul);
};

示例: http://jsfiddle.net/J5rVP/34/

关于php - jquery 自动完成,加入显示数据的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14303583/

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