Jquery& javascript - 函数结果,作为属性名称

时间:2014-09-09 07:57:56

标签: javascript jquery object

我想使用jquery获取输入名称作为属性名称。

html

<input name="data[First][Second]" />

脚本

$.post(
   '/url', 
   {
      $("input").prop("name"): $("input").val()
   }
);

如何(直接)完成?

1 个答案:

答案 0 :(得分:2)

您不能将变量值用作文字中的属性名称。您必须分两步执行此操作并使用bracket notation

var obj = {};
obj[$("input").prop("name")] = $("input").val();
$.post('/url', obj);

如果您不想打破流程而想要表达式,可以使用函数表达式:

$.post(
   '/url', (function(){
       var obj = {};
       obj[$("input").prop("name")] = $("input").val();
       return obj;
    })()
);

一个非常小的优点是你不会用新的变量污染外部范围,但它通常不会更清楚。