Jquery .post:动态名称(来自名称/值对)是否可能?

时间:2011-04-05 21:01:15

标签: jquery

      $('form#input, form#radio, form#select').change(function() {
    $.post("assets/ajax/save.php",
          { "id": $("input#id").val(), $(this).attr('name') : $(this).val() },
          function(data) {
            alert(data);
          },
          "html"
        );
});

有问题的是“$(this).attr('name')”部分。是否可以动态创建名称?上面的代码会引发错误。

1 个答案:

答案 0 :(得分:3)

确实如此,但您必须使用括号([])表示法来构建哈希:

  $('form#input, form#radio, form#select').change(function() {
    var data = {"id": $("input#id").val()};
    data[$(this).attr("name")] = $(this).val();
    $.post("assets/ajax/save.php",
      data,
      function(data) {
        alert(data);
      },
      "html"
    );
  });