2011-04-10 52 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而不必担心引用的混乱等。

相关问题