使用jQuery进行Ajax自动完成

时间:2012-01-24 16:57:54

标签: c# php jquery asp.net-ajax

我有以下代码从db检索部门名称我有问题格式化数据CSS,如背景和字体颜色

<script type="text/jscript">
    $(document).ready(function() {

$.ajax({
    type: "POST",
    url: "/AjaxLoad.asmx/GetBrands",
    dataType: "json",
    data: "{}",
    contentType: "application/json; charset=utf-8",
    success: function(data) {
        var datafromServer = data.d.split(":");
        $("[id$='tbBrands']").autocomplete({
            source: datafromServer
        });
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
       alert(textStatus);
    }
});

}
</script>

<div id="ajaxbrands">
    <input id="tbBrands" runat="server" />
</div>

知道如何向每个列表项添加<p ><div>等文字吗?

2 个答案:

答案 0 :(得分:0)

我可以考虑两个选项:

1.在你的PHP代码中添加它(如rdlowrey aadvised), 例如:

$query = mysql_query("SELECT * FROM brands");
while($brand = mysql_fetch_array($query))
{
 echo "<p>".$brand['name']."</p>";
}

2.使用jquery来做。 “Split”将您的字符串转换为子字符串数组。 您应该编辑自动完成功能,以便为每个子字符串添加所需的代码。添加函数代码以获得更多帮助。

答案 1 :(得分:0)

好吧,我假设您使用的是.NET,所以,我不会乱用服务器端代码。 您可以将此添加到成功回调函数中:

success: function(data) {
        var datafromServer = data.d.split(":");

        for(var item in datafromServer){
           datafromServer[item] = '<p class="whatever">' + datafromServer[item] + '</p>';
        }

        $("[id$='tbBrands']").autocomplete({
            source: datafromServer
        });
    },

添加的for循环将围绕数组中的每个项目,包含p或div,或其他任何内容。