【问题标题】:Jquery & javascript - function result, as property nameJquery & javascript - 函数结果,作为属性名称
【发布时间】:2014-09-09 07:57:56
【问题描述】:

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

html

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

脚本

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

如何(直接)完成?

【问题讨论】:

  • 不能。您必须分两步完成。

标签: javascript jquery object


【解决方案1】:

您不能将变量值用作文字中的属性名称。您必须分两步完成并使用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;
    })()
);

还有一个很小的优势是你不会用新变量污染外部作用域,但它通常不会更清晰。

【讨论】:

猜你喜欢
  • 2015-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-17
  • 2013-09-25
  • 1970-01-01
  • 2010-12-15
  • 1970-01-01
相关资源
最近更新 更多