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». Затем я хочу установить значение cur_storage_unit на новое значение storage_unit. Курсивом я хочу, чтобы это работало, но я не уверен в синтаксисе, как заставить его работать. Спасибо!

1
bmck 10 Сен 2010 в 01:53

3 ответа

Лучший ответ

Вам, вероятно, лучше использовать объект и хранить его там.

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"] );
3
user113716 9 Сен 2010 в 21:57

Вы можете создать новое свойство для объекта, используя строку в качестве ключа

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

Поэтому в вашем случае вам нужен объект с известным именем, в который вы можете добавить свойства с динамическим именем.

3
lincolnk 9 Сен 2010 в 21:56

Если это глобально, вы можете сделать window['cur_'+id];

3
antimatter15 9 Сен 2010 в 21:57