gpt4 book ai didi

php - 如何让用户从输入字段下方回显的值列表中选择单个值

转载 作者:行者123 更新时间:2023-12-01 05:21:11 25 4
gpt4 key购买 nike

我想从从数据库检索的值列表中选择一个值。问题是,当用户输入假设 f,并且数据库中有 2 个或 2 个以上值时,则文件上会显示
标记。我应该如何删除值之间显示的 br 。请帮忙。

Controller 页面->admin_c.php

  public function get_values_c()
{
$e_name = $_REQUEST['ename'];

$res = $this->admin_m->get_ename_m($e_name);

if(sizeof($res)>0)
echo implode("</br>",$res);

}

模型页面->admin_m.php

          public function get_ename_m($e_name)
{
$ename_value = [];

if($e_name!="")
{
$sql = "select distinct ename from event where ename like '$e_name%'";
$res = $this->db->query($sql);
foreach($res->result_array() as $row)
{
$ename_value[] = $row['ename'];
}
return $ename_value;
}
}

查看页面->edit_event.php

<div class="control-group" style="margin-bottom:10px;">

<label class="control-label" style="margin-left:-64px;">Event Name</label>

<div class="controls" style="margin-left:28%">

<input type="text" class="span11" placeholder="Event name" name="ename" id="ename" style="width:95% !important;margin-left: -28px !important;">


<span class="span11" id="show_ename" style="display:none;width:95% !important;margin-left: -28px !important;background-color:white;font-size:15px;"></span>

</div>

</div>

查看页面中的Ajax代码:

$('#ename').keyup(function(){
$.ajax({
url:'<?php echo site_url()."/admin_c/get_values_c";?>',
method:'post',
data:{'ename':$(this).val()},
success: function(res,res1){
$('#show_ename').show();
$('#show_ename').html('');
$('#show_ename').html(res);
}
});
});

$('#show_ename').click(function(){
var ename_value = $(this).html();
$('#ename').val(ename_value);
$(this).html('');
$(this).hide();
});

附上该代码的工作原理供引用:Working

最佳答案

问题是您正在将所有从服务器回显的输出复制到输入框。由于 http://your-siteurl/admin_c/get_values_c 的输出包含<br>标签输入框只会尝试打印。 html 输入框不渲染 html 元素。它只是打印 html 标签(如果有)。

所以为了做你想做的事,我建议进行这些编辑。

第一个位于 Controller page->admin_c.php 上,在 implode 函数之前,使用:

foreach ($res as $key => &$value){
$value = "<div class='innerelement'>".$value."</div>";
}
echo implode("<br>",$res);

第二次用以下代码替换您的 jquery 点击功能:

$("#show_ename").on("click",".innerelement", function(){
var ename_value = $(this).html();
$('#ename').val(ename_value);
$(this).html('');
$('#show_ename .innerelement').hide();
});

请注意,在 url:'<?php echo site_url()."/admin_c/get_values_c";?>' 中在 siteurl() 函数调用替换后有一个额外的“/”,如下所示:
url:'<?php echo site_url()."admin_c/get_values_c";?>'
或使用
url:'<?php echo site_url('admin_c/get_values_c');?>

关于php - 如何让用户从输入字段下方回显的值列表中选择单个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43537848/

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