2012-02-02 65 views
0

我有這樣的形式:jQuery的。對觸發沒有觸發動作

$form = array(
     '<form name="backup-form" class="backup-form" method="post" action="#">', 
      '<fieldset class="backup-fields">', 
       '<fieldset class="display-wrapper">', 
        '<label for="display" class="display-label">Backups</label>', 
        '<input type="text" name="display" class="display" value="' . $this->backups(false,true) . '" autocomplete="off" readonly="readonly" />', 
       '</fieldset>', 
       '<fieldset class="action-wrapper">', 
        '<button type="submit" name="clean" class="clean">Clean All</button>', 
        '<button type="submit" name="create" class="create">Create</button>', 
       '</fieldset>', 
      '</fieldset>', 
     '</form>', 
     '<div class="message-handling" class="message-handling"></div>' 
    ); 
$form = implode("", $form); 
echo $form; 

而且我想要的結合甚至每個提交按鈕這樣的:

$('.backup-form .clean').on({ 
    click: function() {console.log('Clean Button Pressed');} 
}); 

or 

$('.main-actions .backup-form').delegate('.clean', 'submit', function() { 
    console.log('Clean Button Pressed');  
}); 

但是沒有它作品。發生了什麼 ?或者我應該怎麼做才能使它工作?

+0

['$(文件)。就緒(函數(){...}) '](http://api.jquery.com/ready/)? – 2012-02-02 11:17:43

+0

我無法使用它,因爲此腳本位於通過jQuery Tools的選項卡加載了ajax的頁面上,因此不允許使用$(document).ready(function(){...})。 – Roland 2012-02-02 12:44:10

回答

1

試試,如果你是動態添加的形式

$(function(){ 
    $(document).delegate('.clean', 'submit', function() { 
     console.log('Clean Button Pressed');  
    }); 
} 

,或者如果沒有這應該工作

$(function(){ 
$('.main-actions .backup-form').delegate('.clean', 'submit', function() { 
    console.log('Clean Button Pressed');  
}); 
}