2015-06-05 2 views
2

Надеюсь, кто-то может мне помочь. Я был сбой вниз головой, пытаясь в конечном итоге решение для этого, здесь дело, у меня есть функция, проходящая через некоторые переменные, как это:Селектор массива значений как переменная jquery

function createTaskView(results, listName, container, url, groupby) { 

Переменные так Simples, «результаты» Это массив, остальные - просто строки. Все идет нормально.

Тогда я начинаю петлю $ .each в массиве, как это:

function createTaskView(results, listName, container, url, groupby) { 

    $.each(results, function (index, task) { 
     var tr = '<tr>' + 
        '<td><a href="'+ url +'Lists/'+ listName +'/EditForm.aspx?ID='+ task.ID +' ">' + task.ID + '</a></td>' + 
        '<td>' + task.Year + '</td>' + 
        '<td>' + task.Site_x0020_Name + '</td>' + 
       '</tr>'; 

     $(container + ' .' + task.groupby).append(tr); 

    }); 

}); 

Проблемы начинается здесь

$(container + ' .' + task.groupby).append(tr); 

Я знаю, что нет никакого ключа в моей БД вызова «GroupBy», Я имел в виду использовать строковое значение передается в функцию здесь:

function createTaskView(results, listName, container, url, groupby) { 

Таким образом, если переменная GroupBy выглядит так:

var groupby = Year; 

Я хочу это:

task.groupby 

Чтобы быть равным, как это:

task.Year 

Я не знаю, если я сам ясно. Пожалуйста, помогите мне.

Спасибо.

+0

Какова ценность 'container' –

ответ

1

Вы должны использовать bracket notation для доступа к свойству, имя которого хранится в переменной так

$(container + ' .' + task[groupby]).append(tr); 

Также убедитесь, что значение container является собственно селектор, как #myid для выбора идентификатора не только myid

+0

jajajajaja, что было именно ответом на мою проблему, новичок, но все же это заставляет меня страдать, jajaj. Я не знаю, почему я не в этом разбираюсь. Большое спасибо @ArunPJohny –

Смежные вопросы