1

试图让按钮工作(jQuery UI chrome 和 jQuery 功能)在由 ajaxForm 返回的 html 中的第二个表单中,该表单已在第一个表单上调用。该按钮以第一种形式工作 - jQuery UI chrome 可见并且 ajaxForm 事件有效。对于第二个表单,按钮是通用的,ajaxForm 不起作用,它提交到表单中定义的目标,而不是通过 jQuery。我认为我的问题涉及 bind() 或 delegate() 或 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>

任何帮助深表感谢!

4

2 回答 2

3

我认为这种方法使用绑定。您应该使用实时:

$("#next_button").live('click', function() { // 你的代码 });

于 2010-10-25T01:56:43.687 回答
0

我在 document.ready 函数中添加了一个名为 initBinding() 的函数,并在初始绑定时调用它:

jQuery(document).ready(function() {

initBinding();

//functions for initial bind

function initBinding() {

    //other functions to rebind after ajax success, can be same functions called initially
}
}
于 2010-10-27T04:47:56.330 回答