ajax值通过但没有输出

时间:2013-05-19 18:00:34

标签: php jquery mysql ajax

我正在使用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条件。它很棒。

帖子值也通过了。但输出是一个空白的选择框,没有值。

任何想法?一如既往,任何帮助都非常感谢!感谢..

1 个答案:

答案 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);
    }
});