2011-04-10 50 views
0

我有這段代碼的問題:調用一個jQuery中的JavaScript函數生成<a href...>

$(document).ready(function() { 

    $('.notActiveId').change(function() { 

     if ($(this).attr('value').length === 0) { 

      $("#notActiveButton").html(''); 

     } else { 

      $("#notActiveButton").html('<a href="javascript:void(0)" onClick="setStatus(' + $(this).attr('value') + ', activate)" class="operationUnlock" >Activate</a>'); 

     } 

    }); 
}); 

我與$(this).attr('value')從名爲notActiveId選擇列表中的值調用。但問題是如何在setStatus()函數中編寫$(this).attr('value')函數,因爲我的select的值是這種形式的:RZT_83848Rer(所以它由字符,下劃線和數字組成)。

如果我試圖按照上面的方式編寫它,那麼我得到一個JavaScript錯誤。

+0

你能告訴我們一些HTML代碼嗎? – 2011-04-10 00:07:19

回答

2

而不是使用舊式的「onclick」,爲什麼不通過jQuery添加你的元素?

$('#notActiveButton').empty().append($('<a/>', { 
    href: '#', // the "javascript:" thing is basically bogus and unnecessary 
    click: function() { 
    setStatus(this.value, activate); 
    }, 
    class: 'operationUnlock', 
    text: 'Activate' 
})); 

現在,這一切都假定你的「notActiveButton」元素是某種合法的容器爲您<a>標籤。但無論如何,這樣做,你可以編寫普通的JavaScript而不必擔心引用的混亂等。

相關問題