标题有点平淡,但我的问题解释如下。删除第一个字后的所有内容JS
目前,我现在有一个实时搜索:
这做什么,我想要它做的,但当然,这是唯一可能与JS的一点点。
现在,当您点击您的搜索所提供的选项之一时,通常会将您带到一个链接,但我添加了下面的JS,以便从中删除所有HTML代码,并将所选用户名从下拉到文本框中。
<script type="text/javascript">
$(document).ready(function(){
$("#livesearch").click(function(){
var value = $(this).html();
var input = $('#append_value');
var content = value;
var text = $(content).text(); //removes all HTML
input.val(text);
});
});
</script>
现在,这是完美的,一切,但有一个问题。当您从下拉一个选项下其追加这两个选项的文本框中:
现在,这可能是与上面的代码,但我只是想在用户选择哪个选项附加到文本框中。
因此,例如,我搜索战场,我得到了battlefield1
和battlefield2
的结果。如果用户选择battlefield2
我希望battlefield2
被放置在文本框中,反之亦然。
自从美国东部时间下午1点以来,我一直在努力做到这一点,所以当我说我已经找了很多次解决方案时,您可以相信我。
非常感谢您的帮助。 :)
编辑:
我在做什么与搜索(是的,我知道SQL是不建议使用):
的index.html
<script type="text/javascript">
function lightbg_clr() {
$('#qu').val("");
$('#textbox-clr').text("");
$('#search-layer').css({"width":"auto","height":"auto"});
$('#livesearch').css({"display":"none"});
$("#qu").focus();
};
function fx(str) {
var s1=document.getElementById("qu").value;
var xmlhttps;
if (str.length==0) {
document.getElementById("livesearch").innerHTML="";
document.getElementById("livesearch").style.border="0px";
document.getElementById("livesearch").style.display="block";
$('#textbox-clr').text("");
return;
}
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttps=new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttps=new ActiveXObject("Microsoft.XMLHTTPS");
}
xmlhttps.onreadystatechange=function() {
if (xmlhttps.readyState==4 && xmlhttps.status==200) {
document.getElementById("livesearch").innerHTML=xmlhttps.responseText;
document.getElementById("livesearch").style.display="block";
$('#textbox-clr').text("X");
}
}
xmlhttps.open("GET","scripts/search_friends.php?n="+s1,true);
xmlhttps.send();
}
</script>
<input type="text" onKeyUp="fx(this.value)" autocomplete="off" name="qu" id="qu" class="form-control" placeholder="Name of the person or group">
<div class="list-group" id="livesearch"></div>
<input type="text" id="append_valueq">
<script type="text/javascript">
$(document).ready(function(){
$("#livesearch").click(function(){
var value = $(this).val();
var input = $('#append_valueq');
var content = value;
var text = $(content).text();
input.val(text);
});
});
</script>
search_friends。 php
<?php
include('../Connections/ls.php'); //script to connect to DB
$s1=$_REQUEST["n"];
$select_query="SELECT * FROM users WHERE Username LIKE '%".$s1."%'";
$sql=mysql_query($select_query) or die (mysql_error());
$s="";
while($row=mysql_fetch_array($sql))
{
$s=$s."
<a href='javascript:void(0)'>".$row['Username']."</a>
" ;
}
echo $s;
?>
这最终会给我你在第一张图片中看到的结果。
我现在我遇到的问题是,div有实况搜索(<div class="list-group" id="livesearch"></div>
)的ID的事实实现,所以它选择了整个DIV,而不是在下拉列表中选择实际...
请[编辑]你的问题来显示相关的HTML。 “价值”变量的价值是什么? (顺便说一句,'var content = value;'是毫无意义的,它只会导致两个变量具有相同的值。) – nnnnnn
@nnnnnn由于此评论,我意识到我在尝试追加方法时出错到文本框中。 – JeanPaul98