Подтвердить что ты не робот

Jquery получить все значения из столбца таблицы

Я ищу способ заполнить поле выбора уникальными значениями из столбца таблицы, используя jQuery. Пока мои попытки были бесполезны, но я относительно новичок в развитии интерфейса, поэтому я надеюсь, что кто-то может показать мне свет.

Приветствия.

4b9b3361

Ответ 1

Это должно помочь вам начать. Обратите внимание, что я использую содержимое ячейки как для значения, так и для текста опции. Возможно, вам придется изменить это, но это непонятно из вопроса.

var items=[], options=[];

//Iterate all td in second column
$('#tableId tbody tr td:nth-child(2)').each( function(){
   //add item to array
   items.push( $(this).text() );       
});

//restrict array to unique items
var items = $.unique( items );

//iterate unique array and build array of select options
$.each( items, function(i, item){
    options.push('<option value="' + item + '">' + item + '</option>');
})

//finally empty the select and append the items from the array
$('#selectId').empty().append( options.join() );

Ответ 2

вы можете использовать jquery для каждой функции:

function FillSelect(){
    var vals = new Array();
    var i=0;
    var options='';
    $("#tbl tr:gt(0) td:nth-child(2)").each(function(){
       var t=$(this).html();
       if($.inArray(t, vals) < 0)
       {
           vals[i]=t;
           i++;
       }
    });

    for(var j=0;j<i;j++)
    {
        options += '<option value="' + j + '">' + vals[j] + '</option>';
    }

    $("#sel2").html(options);
}

Предположим, что 'tbl' - это идентификатор вашей таблицы, 'sel2'is id выбора, который вы хотите заполнить. Если вы не хотите исключать первую строку, вы можете удалить tr: gt (0) и поместить в выражении селектора простую tr.