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

标签 javascript jquery object

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

html

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

脚本

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

如何(直接)完成?

最佳答案

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

还有一个非常小的优点,即您不会用新变量污染外部作用域,但它通常并不清晰。

关于javascript - Jquery 和 javascript - 函数结果,作为属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25739413/

相关文章:

javascript - knockout.js 可见绑定(bind)到表格单元格内容不起作用

javascript - For 循环在 D3.js 中不起作用

javascript - css从右到左变换动画

Java:在对象数组中搜索 2 个特定对象值

c++ - 在 C++ 中,如何确保一个对象在另一个对象之前构造?

javascript - 从计时器函数获取秒数到我的 View

javascript - jQuery - 如何选择变量的后缀并在数组中找到它的匹配项

javascript - 如何使用jquery使文本加粗

javascript - 将处理程序从 jquery 元素附加到另一个元素

javascript - 获取不同类型的两个对象的相同部分