2015-02-10 53 views
0

我想要做的就是从表中选择的所有记录,从第2列只记录与C类jQuery选择组合+每+计数

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

和计数的数量和使用。每()

我试图用.size()和。每个(),但它不能正常工作,请参阅:
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()); 
}); 


请任何帮助!

回答

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()); 
}); 
+0

谢谢,感激。 – user1000744 2015-02-10 11:51:11

+0

@ user1000744没问题,很高兴我可以帮忙。 – mattytommo 2015-02-10 11:55:40

0

不知道你想做什么。也许这样?

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

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

DEMO

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