2012-05-10 6 views
0

Ниже мой JS. Когда страница загружается, я хочу, чтобы она автоматически запускала функцию, как будто ее нажали. Выбор по умолчанию заставляет его запускаться, но не запускает функцию. Любая идея о том, как сделать эту работу?Default select issue для JQuery UI 'selectable'

$(function() { 
    $("#selectable").selectable({ 
     selected: updatefilters 
    }); 
    function updatefilters(ev, ui){ 
     // get the selected filters 
     var template, html; 
     var pagego; 
     if(! pagego){ 
     var page = 0; 
     } 
     var $selected = $('#selectable').children('.ui-selected'); 
     // create a string that has each filter separated by a pipe ("|") 
     var filters = $selected.map(function(){return this.id;}).get().join("\|"); 
     $.ajax({ 
      type: "POST", 
      url: 'updatefilters', 
      dataType: 'json', 
      data: { filters: filters, page: page }, 
      success: function(data){ 
       html = "Do Something"; 
       $('#board').html(html); 
      } 
     }); 
    } 
    $('#lets').addClass('ui-selected') 
}); 

Спасибо!

ответ

2

Просто вызовите функцию после объявления его:

не
$(function() { 
    $("#selectable").selectable({ 
     selected: updatefilters 
    }); 
    function updatefilters(ev, ui){ 
     ... 
    } 
    $('#lets').addClass('ui-selected'); 

    // none of your params are consumed in the function anyways, so you don't need to pass anything 
    updatefilters(); 
}); 
+0

Прост достаточно. Благодарю. –

0

Попробуйте запустить функцию в теге тела

<body onload="name_of_function()"> 
+0

нет никакого основания предполагать, встроенный JavaScript, когда он имеет доступ к '$ (документ) .ready() '; – jbabey

Смежные вопросы