3

我有一个名为 update 的函数,它接受一些选项并使用 $.post 发布到我的 php:

 function update(options){
   $.post('update.php',{update: options}, function(data, textStatus, jqXHR){
     // debug stuff from php
   });
 }

我调用我的函数如下:

 update({'id': id, 'option': val});

我想知道的是如何在选项中设置条件?例如:

 var option = $(this).attr('class') == 'check' ? 'check' : 'ok'; // assuming option is ok

 update({'id': id, 'ok': val}); // instead of option

 update({'id': id, option: val}); // i want to have the conditional
4

2 回答 2

4

您可以像访问数组一样访问 Javascript 对象。此语法支持动态属性名称/键。

options[variable] = 'value';

例子:

var x = 'customProperty'
,   y = {}
;

y.x = 12; //y.x = 12
y[x] = 11; //y.customProperty = 11... same as y['customProperty'] = 11

http://jsfiddle.net/CoryDanielson/Dugdd/

于 2012-10-01T21:40:44.387 回答
0

本质上,您将对象设置为:

var x = {};

然后分配您想要的确切属性

var prop_name = $(this).attr('class') == 'check' ? 'check' : 'ok';
x[prop_name] = YOUR_VALUE;
于 2012-10-01T21:43:10.480 回答