调用jquery自动完成ajax函数

问题描述:

我有一个Jquery自动完成ajax函数,其源是从后面的代码计算出来的。不过,我使用客户端脚本管理器获取javascript的源代码,但是我的函数没有执行。调用jquery自动完成ajax函数

除此之外,我想调用该函数的AJAX代码从后面通过

ClientScriptManager.RegisterStartupScript() 

但同样我的功能不执行。 我的功能是:

<form id="form1" runat="server"> 
    <div> 
     <input id="Text1" type="text"/>&nbsp;&nbsp;&nbsp; 
     <input id="Text2" type="text" /><br /> 
     <br /> 
     <input id="Button2" type="button" value="button" /> 

    <script type="text/javascript"> 
    var mydataformat = [{ label: "....", value: "....", icon: "....." }, 
         { label: "....", value: ".....", icon: "....." }]; 

    $(function() { 
    $("#Text1").autocomplete({      
    minLength: 0,      
    source: JSVar,      
    focus: function (event, ui) 
    { 
    $("#Text1").val(ui.item.label);       
    return false;      
    }})      
    .data("autocomplete")._renderItem = function (ul, item) {       
    return $("<li></li>") 
    .data("item.autocomplete", item)        
    .append("<a><img src='" + item.icon + "' width='32' height='32' /> " + item.label + "</a>")        
    .appendTo(ul);      
     }; 
    }); 

</script> 
+0

你的函数在jquery的''''(function(){//是你的代码吗?});' – Marc 2012-02-24 04:56:51

+0

是的。但不幸的是,我无法将从数据库查询计算出的数据添加到此jquery函数的源代码中。 – vini 2012-02-24 05:08:31

+0

如果你把'source:mydataformat'(当然有一些有效的值),当你在文本框中的列表中键入某些东西时它就起作用。 – 2012-02-24 17:01:27

你必须设置源时,你的数据已经加载喜欢提到here

$("#Text1").autocomplete("option", "source", ["your", "loaded", "data"]); 

...或更好的初始化你自动完成,当你计算的数据准备好,不早。

+0

感谢您的回复,但这里输入的数据是动态的,并且具有包含关键字标签,值和图标的格式。 – vini 2012-02-24 05:21:40

+0

我该怎么做?数据准备就绪时初始化自动完成? – vini 2012-02-24 05:22:32

+0

什么时候你的数据准备好了?你的js var何时被填充?必须有一个地方可以填写/设置'JSVar'。 **之后**,你必须设置自动完成代码。 – Marc 2012-02-24 05:50:23

看看jQueryUI网站上的Custom Data sample,它似乎涵盖了你想要的一切。它使用标签,值,图标等。

剩下的一块是等到数据加载完成之后再初始化它。

+0

我使用相同的。而对于等待,我已经在代码隐藏后在我的数据库查询后注册了整个javascript函数。但似乎并不能很好地执行。有什么建议么? – vini 2012-02-24 14:48:35