Javascript - 如何使用基于字符串的变量名声明变量?

时间:2010-09-09 21:53:47

标签: javascript jquery variables

var cur_storage_unit = $('#storage_unit').val();

$('.size_unit').change(function() {
    var id = $(this).attr('id');

    //This is how I want it to work, but not sure how
    'cur_' + id = $(this).val();
});

用户'更改'类'size_unit'和'storage_unit'的id。我想将'cur_storage_unit'的值设置为'storage_unit'的新值。斜体是我希望它如何工作,但我不确定如何让它工作的语法。谢谢!

3 个答案:

答案 0 :(得分:3)

您可以使用字符串作为键在对象上创建新属性

var myObj = {};
myObj['cur_'+id] = $(this).val();

因此,在您的情况下,您需要一个具有已知名称的对象,您可以在其中添加动态命名的属性。

答案 1 :(得分:3)

如果它是全球性的,您可以window['cur_'+id];

答案 2 :(得分:3)

你可能最好使用一个Object,并将其存储在那里。

var cur_storage_unit = $('#storage_unit').val();

var values = {};  // storage for multiple values

$('.size_unit').change(function() {
    var id = this.id;

    values['cur_' + id] = this.value;  // store this value in the "values" object
});

// Accessible via values object
alert( values["cur_theid"] );