未捕获的引用错误:xy未定义但正在工作

时间:2013-09-18 11:50:27

标签: jquery ajax

我有类似这样的值,其中值得到更新($('#'+name+userid).val(value);),但找不到userid变量。如果我将新的userid变量定义为a.attr('userid'),则不会更新该值。为什么这会起作用呢?

$.ajax({
    url: '../modify_users_admin.inc.php',
    type: 'POST',
    data: {
        value: a.attr('value'),
        name: a.attr('name'),
        userid: a.attr('userid')

        },
    success: function(data) {
        $('#'+name+userid).val(value);
        if (data) {
            console.log('s');
            alert(data);

        } else {
            $('#notice').text('Updated');
            $('#notice').fadeOut().fadeIn();
        }
    }
});

1 个答案:

答案 0 :(得分:0)

您必须将useridname放入变量中,然后使用它们

function foo(a) {

    var userid = a.attr('userid');
    var name = a.attr('name');

    $.ajax({
        ...
        data: {
            ...
            name: name,
            userid: userid
        },
        success: function(data) {
            $('#'+name+userid).val(value);
            ...
        }
    });
}

并调用函数foo