jquery选择器组合+每个+计数

时间:2015-02-10 11:33:26

标签: jquery html

我想要做的是从表中选择所有记录,只从第2列中选择类别为c

的记录
#SelectField_c_r1c2 (row 1 cell 2 category c) , #SelectField_c_r2c2 (row 2 cell 2 category c) ...

并计算数字并使用.each()

我试图使用.size()和.each(),但它不起作用,请参阅:
http://jsfiddle.net/ndr8wk44/

var select_rec_categ = "c";
var select_rec_col = 2

$('"[id ^=#SelectField_" + select_rec_categ + "_r][id $=c" +         select_rec_col+"]"').size();
$('"[id ^=#SelectField_" + select_rec_categ + "_r][id $=c" +     select_rec_col+"]"').each( function() {

alert($(this).val());
});


请帮忙!!

3 个答案:

答案 0 :(得分:2)

您有两个问题:第一个问题是您未在语句的第一个段上关闭单引号。另一个原因是您在ID选择器中使用了#,但由于您使用的是属性选择器,因此您无需包含#

这将为您提供以下列:

var cols = $("[id ^=SelectField_" + select_rec_categ + "_r][id $=c" + select_rec_col+"]");

那么你可以做点数计算:

var count = cols.length;

然后迭代它们以访问值,执行:

cols.each(function () {
    alert($(this).val());
});

答案 1 :(得分:0)

不确定理解你要做什么。也许是这样的?

var id = '#SelectField_' + select_rec_categ + '_r1c' + select_rec_col;

$(id + " option").each( function() {
  alert($(this).val());
});

DEMO

答案 2 :(得分:0)

这会提醒3然后提醒3个空值和所选文本(因为没有value属性)

var select_rec_categ = "c";
var select_rec_col = 2;
var sel = "[id^=SelectField_" + select_rec_categ + "_r][id$=c" + select_rec_col+"]";
$(document).ready(function(){
    alert($(sel).size());
    var str = '';
    $(sel).each( function(idx,el) {
        el = $(el)
        var opt = el.find(':selected')
        str += idx + ': value="' + el.val() + '" text="' + opt.text() + '"\n';
    });
    alert(str);
});

小提琴here