我对这段代码有疑问:
$(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
的选择列表中的值进行调用。但问题是如何在$(this).attr('value')
函数中编写setStatus()
,因为我的select的值是这种形式:RZT_83848Rer
(所以它由字符,下划线和数字组成)。
如果我尝试按上述方式编写,那么我会收到JavaScript错误。
答案 0 :(得分:2)
为什么不通过jQuery添加你的元素呢?
而不是使用旧式的“onclick”$('#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,而不必担心报价的混乱等。