在jquery中将键名传递给json对象

时间:2011-04-15 20:57:55

标签: jquery ajax json

我正在尝试编写一个通用函数,通过Jquery Ajax验证我的字段。我的问题是,我想通过函数输入给出关键名称。但是在field_value变量中,我的field_label参数保持为“field_label”。我想改变它像“电子邮件”,“用户名”,所以我可以生成不同的jsons。那么任何想法?

  function validate_field(span_id,field_id,field_label,url){
           var message_field = $("#" + span_id)

           $("#" + field_id).keyup(function(){
                if(this.value != this.lastValue){
                      if(this.timer){
                          clearTimeout(this.Timer);
                      }
                message_field.html('<img src="/media/img/loader.gif">');
                var field_value = {field_label : $("#"+field_id).val()};
                var json_response = JSON.stringify(field_value);
                this.timer = setTimeout(function(){
                      $.ajax({
                            type:'POST',
                            url:url,
                            contentType:'application/json; charset=utf-8',
                            data:json_response,
                            success:function(msg){
                                 message_field.html(msg);
                            }
                      });
                });
             }
          });
    }

1 个答案:

答案 0 :(得分:2)

更改此行:

var field_value = {field_label : $("#"+field_id).val()};

到此:

var field_value = {};
field_value[field_label] = $("#"+field_id).val();
相关问题