在初始页面加载时模拟jQuery自动完成选择

时间:2013-10-29 05:30:53

标签: jquery dom autocomplete

我有一个jQuery自动完成功能,在选择一个项目时会运行一些AJAX代码。如何模拟列表中项目的选择?我想在首次加载页面时运行此代码,因此我将代码放在DOM ready函数中。我想我必须将一些数据传递给该方法,但不知道该怎么做。感谢。

以下是我要在加载页面时运行的代码:

$("#myAutocomplete").result(function(event, data, formatted) {
if (data){
    $.ajax({ 
        url: sURL + "utility/ajaxmuniChart1c",
        type: "POST",
        data: {muni: data[0]},
        dataType: 'json',               
        success: function(json){
            if  (data) {                    
                myWidth =  (document.getElementById('flot_widget').offsetWidth-15)+"px";
                myHeight = (document.getElementById('flot_widget').offsetWidth*.66)+"px";
                document.getElementById('placeholder').style.width = myWidth;
                document.getElementById('placeholder').style.height = myHeight;                 
                document.getElementById('container').style.display = 'block';                   
                var options = {
                    xaxis: {
                        tickDecimals: 0
                    },
                    series: {
                        lines: { show: true, fill: false, fillColor: "rgba(255, 255, 255, 0.8)" },
                        points: { show: true, fill: true }
                    }
                }; 
                if (document.getElementById('c3').childElementCount > 0){
                    document.getElementById('c3').innerHTML = "";
                };                                      
                var plotArea = $.plot("#placeholder", [json], options);                 
                var ctx = plotArea.getCanvas();                                 
                loc = sURL + 'php/saveme.php';
                var cs = new CanvasSaver(loc);                  
                var btnDownload = cs.generateButton('Download', ctx, 'PTS_Chart');                  
                c3.appendChild(btnDownload);                    
            }
        }
    })
}
})

1 个答案:

答案 0 :(得分:0)

通过直接在$(document).ready(function()内直接运行AJAX调用解决了这个问题,现在我的代码就是:

$(document).ready(function() {  
$.ajax({ 
    url: sURL + "utility/ajaxmuniChart1c",
    type: "POST",
    data: {muni: "Toronto"},
    dataType: 'json',               
    success: function(json){
    ...etc.