如果数据库中的文本框值中不存在该值,则返回先前的值

时间:2014-02-25 07:33:50

标签: php jquery

好的,这里的主要问题是我需要通过ajax比较来自数据库的值get。 textbox的值取决于其选项值来自数据库。

我看到了这个脚本,但我无法弄清楚如何将它与我的自动完成代码混合。来源是我最大的问题之一。

    <script>
$(document).ready(function() {
    $("#auto").autocomplete({
        source: function(request, response) {
            var results = $.ui.autocomplete.filter(src, request.term)
                , el = this.element[0];

            if (results.length) {
                el.value = results[0];
                el.setSelectionRange(request.term.length, el.value.length);
            }

            response(results);
        },
        change: function (event, ui) {
            if (!ui.item) {
                this.value = '';
            }
        }
    });
});
    </script>

如果当前值不在列表中,我想将文本框返回为空。

我的页面

<script>
function changeAutoComplete (val) {
    $( "#tags" ).autocomplete({
        source: 'autocomplete.php?selected='+val
    });
}
</script>
</head>
<body>
 Drop1
 <?php
    $mysqli = new mysqli("localhost", "root", "", "2015");
    $combo = $mysqli->query("SELECT * FROM category GROUP BY cat_code ORDER BY id");
    $option = '';
     while($row = $combo->fetch_assoc())
        {
        $option .= '<option value = "'.$row['cat_code'].'">'.$row['category'].'</option>';
        }
    ?>
<select id="main" name="main" onchange="changeAutoComplete(this.value)">
<option value=""  selected="selected">Choose</option>
<?php echo $option; ?>
</select>

<div class="demo-frame">
<label for="tags">Tags: </label>
<input id="tags" name="items">

1 个答案:

答案 0 :(得分:0)

您正试图从服务器获取它。那么你必须使用自动完成的远程示例。

为此你必须为你的源使用匿名函数函数(请求,响应)。

以下是链接

的自动完成远程示例
  http://jqueryui.com/autocomplete/#multiple-remote

根据需要更新您的源属性

source: function( request, response ) {
   $.getJSON( "search.php", {
      term: extractLast( request.term )
   }, response );
}