jQuery从表列获取所有值。

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (75)

我正在寻找一种使用jQuery从表列填充具有唯一值的选择框的方法。到目前为止,我的尝试都是徒劳的。

提问于
用户回答回答于

请注意,我将单元格内容用于该选项的值和文本。你可能需要改变这一点,但从问题上看还不清楚。

var items=[], options=[];

//Iterate all td's 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() );
用户回答回答于

你可以使用jquery的each函数:

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'是你的表的ID,'sel2'是你想要填充的选择的ID。如果你不想排除第一行,那么你可以删除tr:gt(0)并将简单的tr放在选择器表达式中。

扫码关注云+社区

领取腾讯云代金券