开发者

Calling a JavaScript function inside a jQuery generated <a href...>

开发者 https://www.devze.com 2023-02-23 01:45 出处:网络
I have a problem with this piece of code: $(document).ready(fun开发者_如何学Cction() { $(\'.notActiveId\').change(function() {

I have a problem with this piece of code:

$(document).ready(fun开发者_如何学Cction() {

    $('.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>');

        }

    });
});

I'm calling with $(this).attr('value') a value from a select list named notActiveId. But the problem is how to write $(this).attr('value') in setStatus() function, because value of my select is in this form: RZT_83848Rer (so it consists of characters, underline and numbers).

If I try to write it as above, then I get a JavaScript error.


Instead of using an old-school "onclick", why not add your element via jQuery?

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

Now, all this assumes that your "notActiveButton" element is some sort of legitimate container for your <a> tag. But anyway, doing it this way you get to write plain JavaScript without having to worry about the mess of quoting etc.

0

精彩评论

暂无评论...
验证码 换一张
取 消