2012-04-12 54 views
0

我试图制定关于我的网站功能,可自动抓取从我的表中提供的路线和在一个jQuery自动完成的文本框,显示结果,因为它们类型jQuery的下拉菜单,从MySQL

我设法填充它们显示数据获得查询在一起,它完美......但没有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的数据

我的问题是,我怎么会得到这两个打好?

+0

'工作正常,没有PHP数据'..?它从服务器获取作为json的数据 – 2012-04-12 10:16:21

+0

你想要一个选择框或带有自动完成功能的文本框吗? – Paul 2012-04-12 10:18:08

+0

我想拥有两者。在你叫我疯了之前听我说。我希望用户能够在输入时选择选项,创建选项的唯一方法是使用select(我知道),让用户输入的唯一方法是提供一个文本框(我知道) – 2012-04-12 10:20:30

回答

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代码:

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

我认为在这种情况下,您将不再使用select标签,但输入标签。我希望它有帮助。

谢谢,戴夫

+0

一起提供位置列表之前使用过这个插件,它工作的很好。生病测试出来并回复给您 – 2012-04-12 10:44:08

+0

为什么它在文本框上面打印查询? – 2012-04-12 10:53:38

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你需要一个input元素与编号combobox