我正在使用textarea。用户键入一个/多个字母按下选项卡。调用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条件。它很棒。
帖子值也通过了。但输出是一个空白的选择框,没有值。
任何想法?一如既往,任何帮助都非常感谢!感谢..
答案 0 :(得分:2)
我创建了一个关于页面
的jsfiddle示例http://jsfiddle.net/utku/cVeLh/3/
你能改变像这样的ajax查询吗?
$.ajax({
type: "POST",
url: "nishaone.php",
data: {search: search},
success: function (msg) {
// We assume you get "<option>something</option>" output from server
$("#selectbox").append(msg);
}
});