2010-10-02 25 views
0

這是我的javascript:的onclick jQuery的使用參數給出 「**沒有定義」

function doSomething(fieldActions) { 
var Actions = fieldActions; 

$(Actions).show("slow"); 
$(this).hide(); } 

這是我的HTML:

<a onclick="doSomething('#date-actions');">edit</a> 

的參數需要影響和DIV領域。該字段的ID可以是可變的,並且頁面上可以有多個,所以這就是爲什麼我需要給它影響的特定字段。 參數「#date-actions」是DIV字段可以調用的示例。

我的螢火錯誤:

doSomething is not defined 

回答

1

目前無論doSomething定義它不是一個全局可訪問的功能,例如,如果它是一個document.ready處理它的唯一訪問內部有內。你需要暴露範圍......但即使如此,this也不會引用你想要的功能。


一個更好的辦法來解決這兩個問題的辦法是使用鏈接本身,這樣的href財產:給予它的一類,就像上面的例子

<a class="edit" href="#date-actions">edit</a> 

然後,可以結合所有這些環節上document.ready這樣的:

$(function() { 
    $("a.edit").click(function(e) { 
    $(this).hide(); 
    $(this.hash).show(); 
    e.preventDefault(); 
    }); 
}); 

如果他們添加動態只是綁定改變從$("a.edit").click(function(e) {$("a.edit").live("click", function(e) {

+0

謝謝尼克。但是如果我有更多的參數可以通過,我該怎麼辦? – user260157 2010-10-02 13:21:28

+0

@ user260157 - 你舉個例子嗎?例如,你可以使用'data-show =「#thing1,#thing2,#thing3」'作爲多重選擇器,並使用'$($(this).attr(「data-show」))。show() '使用它。 – 2010-10-02 14:27:51