-3

我正在使用文本区域。用户键入一个/多个字母按选项卡。调用 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 条件。它工作得很好。

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

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

4

1 回答 1

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);
    }
});
于 2013-05-19T18:09:24.720 回答