2014-05-15 42 views
1

我需要我的jQuery的幫助:jquery:如何獲得父函數的選擇?

這裏是我的代碼:

// common varialbles 
var current_form; 
var all_inputs = " :input"; 

//common functions 
function get_current_form(){ 
    current_form = "#"+$(this).attr("id"); 
} 

$("#change_password_form").submit(function(e){ 
    get_current_form(); 
    e.preventDefault(); 
    $.ajax({ 
     url:"process.php", 
     type:"POST", 
     data:$("#change_password_form").serialize()+'&form_name='+$("#change_password_form").attr("id"), 
     success: function(data){ 
      $("#msg").html(data); 
      $(current_form+all_inputs).val(""); 
     } 
    }); 
}); 

我想做到以下幾點:雖然"#change_password_form"被提交,我希望得到這個ID分配給var current_form通過function get_current_form()內的ajax。

我的目的是使用常用函數和變量來減少打字和提高效率。 有人能幫我解決上述問題嗎?它將不勝感激。

+0

您未將當前對象的上下文傳遞給get_current_form() –

回答

1

您需要將當前對象是#change_password_formget_current_form功能:

$("#change_password_form").submit(function(e){ 
    get_current_form(this); 
    // Rest of your code here 
}); 

,改變你的函數:

function get_current_form(el){ 
    current_form = "#"+$(el).attr("id"); 
} 

但實際上我不知道這裏什麼是你預期的結果,因爲您可以直接使用id

$("#change_password_form").submit(function(e){ 
    current_form = this.id; 
    // Rest of your code here 
}); 
+0

太棒了...它的工作原理..非常感謝 – ashique

+0

很高興幫助:-) – Felix