jQuery Dropdown菜单显示来自MySQL的数据

时间:2012-04-12 10:13:43

标签: php jquery mysql menu drop-down-menu

我正在尝试在我的网站上开发一个功能,该功能会自动抓取我的表中可用的路由,并在jQuery自动填充文本框中填充它们,该文本框会在键入时显示结果

我已经设法将查询放在一起,并且它完美地工作......但是没有添加jQuery

自己的代码

<?PHP  
mysql_connect('localhost', 'sample', 'sample'); 
mysql_select_db('winning'); 
$sql = "SELECT distinct rout_to FROM search_v ORDER BY rout_to ASC" ; 
$result = mysql_query($sql); 
echo '<div class="ui-widget"><select id="combobox" name="arrival_label">'; 
while ($row = mysql_fetch_array($result)) echo "<option value='" . $row['rout_to'] . "'>" . $row['rout_to'] . "</option>"; 

echo "</select></div>"; ?>

当我从jquery ui库测试自动完成组合框时,它自己运行良好,没有php数据

我的问题是,我怎么能让这两个玩得很好?

2 个答案:

答案 0 :(得分:0)

<?php
    $autocomplete = array();
    mysql_connect('localhost', 'sample', 'sample'); 
    mysql_select_db('winning');
    $sql = mysql_query('SELECT distinct rout_to FROM search_v ORDER BY rout_to ASC');
    $r = $db->query($q);
    while ($row = mysql_fetch_array($result))
      $autocomplete[] = $row['rout_to'];
    }
?>
<script type="text/javascript">
  $(function() {
    var availableItems = [ <?php print '"'.implode('","', $autocomplete).'"'; ?> ];
    $("#combobox").autocomplete({
      source: availableItems,
      minLength: 3
    });
  });
</script>

注意:刚写完我的头,可能需要定制。

编辑:在您的HTML中,您需要一个ID为input的{​​{1}}元素。

答案 1 :(得分:0)

你可能想尝试使用Jquery UI的自动完成插件。

<?php
    $autocomplete = array();
    mysql_connect('localhost', 'sample', 'sample'); 
    mysql_select_db('winning');
    $sql = mysql_query('SELECT distinct rout_to FROM search_v ORDER BY rout_to ASC');
    $r = $db->query($q);
    while ($row = mysql_fetch_array($result))
      $autocomplete[] = $row['rout_to'];
    }
?>
<script>
    $(function() {
        var availableTags = [
          <?php foreach($autocomplete as $a){
              echo '"'.$a.'",';
          }?>
        ];
        $( "#tags" ).autocomplete({
            source: availableTags
        });
    });
</script>

HTML CODE:

<div class="ui-widget">
    <label for="tags">Tags: </label>
    <input id="tags">
</div>

我认为在这种情况下,您将不再使用选择标记而是使用输入标记。我希望它有所帮助。

谢谢,戴夫