jQuery: кнопка не работает в html, возвращаемом ajaxForm - как перепривязать? - PullRequest
1 голос
/ 25 октября 2010

Попытка заставить кнопку работать (функциональность jQuery UI chrome и jQuery) во второй форме, которая находится в html, возвращенном ajaxForm, который был вызван в первой форме.Кнопка работает в первом виде - виден хром jQuery UI и работает событие ajaxForm.Для второй формы кнопка является общей, и ajaxForm не работает, она отправляет цели, определенной в форме, не через jQuery.Я думаю, что моя проблема связана с bind () или делегатом () или live (), но я просто не понимаю, как выполнить повторное связывание.Вот мой код:

// prepare Options Object for first form submit of new program
     var options = { 
     target:     '#add_program_container', 
     success:    function (response) {
              jQuery('#add_program_container').html(response);
        }
     }; 

     // pass options to ajaxForm for first form sumit of new program

     jQuery('#new_program_form').ajaxForm(options);

      // prepare Options Object for second form submit of new program - requirements
     var options = { 
      target:     '#add_program_container', 
      success:    function (response) {
         jQuery('#add_program_container').html(response);

         }
     }; 

     // pass options to ajaxForm for second form submit of new program - requirements

     jQuery('#new_program_form_two').ajaxForm(options);

Кнопка:

jQuery('#next_button').button({
      icons: { secondary: 'ui-icon-carat-1-e' }
     });

HTML (форма возвращается ajaxForm, этокнопка с использованием jQuery UI)

<button id="next_button" type="submit">Next</button>

Любая помощь очень ценится!

Ответы [ 2 ]

3 голосов
/ 25 октября 2010

Я думаю, что этот подход использует связывание.Вы должны использовать live:

$ ("# next_button"). Live ('click', function () {// ваш код});

0 голосов
/ 27 октября 2010

Я добавил функцию initBinding () в функцию document.ready и вызвал ее при начальной привязке:

jQuery(document).ready(function() {

initBinding();

//functions for initial bind

function initBinding() {

    //other functions to rebind after ajax success, can be same functions called initially
}
}
...