【发布时间】:2013-05-19 18:00:33
【问题描述】:
我正在使用文本区域。用户键入一个/多个字母按选项卡。调用 Ajax 以显示基于 textarea 输入的选择框。
<body>
<textarea id='test' name="test"></textarea>
<div id="selectbox"></div>
<script type="text/javascript">
document.getElementById('test').onkeydown = function(e){
if (e.keyCode == 9) {
this.value += " ";
if(e.preventDefault) {
var search = document.getElementsByName('test')[0].value;
e.preventDefault();
$.ajax({
type: "POST",
url: "nishaone.php",
data: "search=" +search,
success: function(msg){
$(document).ajaxComplete(function (event, request, settings){
$("#selectbox").html(msg);
});
}
});
}
return false;
}
}
</script>
</body>
我检查了 ajax 编码。传递的值。一切看起来都很好。这是我正在使用的 php 文件。
if (isset($_POST['search'])&& $_POST['search']){
echo $_POST['search'];
echo '<select name="plid" id="plid">';
echo '<option value="" selected="selected">--Select the Pack Name--</option>';
$tempholder = array();
$query = "SELECT acname FROM glmast WHERE acname LIKE '". mysql_real_escape_string($_POST['search']) ."%' ORDER BY acname ";
$done=mysql_query($query) or die(mysql_error());
$nr = mysql_num_rows($done);
for ($i=0; $i<$nr; $i++){
$r = mysql_fetch_array($done);
if (!in_array($r['acname'], $tempholder)){
$tempholder[$i] = $r['acname'];
echo "<option value='$r[acname]'>".$r["acname"]."</option>";
}
}
}
所以这是我的 sql 查询输出。
我试过没有 if 条件。效果很好。
post 值也通过了。但是输出是一个空白的选择框,里面没有任何值。
有什么想法吗??一如既往,我们非常感谢任何帮助!谢谢..
【问题讨论】:
-
请让您的代码更具可读性。
-
@UtkuYıldırım 已编辑 :) .. 代码看起来不错。帖子值已传递。如果我自己使用一些随机数据,ajax 可以工作并显示选择框。有什么想法吗??
-
服务器返回的 ajax 没有问题吗?你能console.log(msg)得到正确的答案吗
-
@UtkuYıldırım 我得到一个没有值的空白选择框.. 只需选择包 Item Id hing.. 就是这样.. 我猜它与 mysql 有关系.. 但即使查询也能正常工作当我使用!不知道是什么问题..任何想法..顺便说一句谢谢你的时间!!
-
我创建了一个 jsfiddle,我认为这就是你想要的,你能检查一下并告诉我你想要什么