2011-05-24 18 views
1

我有2种基本形式用于转换数据(类型1 < - >类型2)。如何使用jQuery.post动态数据名称?

我想用我的.post请求只使用1个表单。

我在用[数据]参数问题的jquery.post

这里是我的代码:

$('form').submit(function(){ 
    var a = $(this).parent().find("input").attr('name'); 
    var b = $(this).parent().find("input").val(); 
    var url = $(this).attr('action') 
    $.post(url, { a:b },function(data) { 
     $(data).find('string').each(function(){ 
      $('.result').html($(this).text()); 
     }); 
    }); 
    return false; 
});  

问题在于内{a:b}b被解释为我的var b,但a不是,使我的发布参数类似[a:1]而不是[param:1]

有没有办法让动态的a

回答

7

试试这个:

var data = {}; 
data[a] = b; 
$.post(url, data, function(data) { 

所以这样的:

$('form').on('submit', function (e) { 
    e.preventDefault(); 

    var data = {}; 
    var el = $(this); 
    var input = el.parent().find('input'); 

    var a = input.attr('name'); 
    var b = input.val(); 
    var url = el.attr('action'); 

    data[a] = b; 

    $.post(url, data, function(data) { 
     $(data).find('string').each(function(){ 
     $('.result').html($(this).text()); 
    }); 
}); 
3

是,使用别的东西后数据:

$.post(url, a+"="+b,function(data) { 
    $(data).find('string').each(function(){ 
     $('.result').html($(this).text()); 
    }); 
}); 
相关问题