我想做类似的事情 -
for(var i=0; i < count;i++) {
$('#radio_'+i).click(function() {
for(var j=0;j < count1;j++) {
alert ($('#price_'+i+'_'+j).val());
}
})
}
但警告即将来临“undefiend”。
我想让id'price_i_j'动态化。
答案 0 :(得分:0)
当找不到ID时,会出现警告未定义。
你应该调试代码。
首先alert($('#wd_markup_'+i+'_'+j));
并检查它是否存在。然后检查浏览器的错误控制台,是否有任何错误。
答案 1 :(得分:0)
在发出警报之前进行检查
for(var i=0; i < channelCount;i++) {
$('#radio_'+i).click(function() {
for(var j=0;j < dopCount;j++) {
if($('#price_'+i+'_'+j).length){
alert ($('#price_'+i+'_'+j).val());
}else{
alert('#price_'+i+'_'+j + ' does not exist');
}
}
})
}
答案 2 :(得分:0)
在调用每个单击函数时(当用户单击#radio时),i等于外循环的计数(+1),因此如果count max为2,那么“i”将为3点击功能 - 这就是价格未定义的原因,因为price_3不存在。你需要做的是从无线电元素中获取i的值,如下所示。我已经为你创建了一个jsfiddle,看看下面的工作。
for (var i = 0; i < 3; i++) {
$('#radio_' + i).click(function() {
var i = ($(this).attr("id").substr(6));
$('[id^=price]').css("color", "black");
for (var j = 0; j < 3; j++) {
var s = '#price_' + i + '_' + j;
console.log($(s).text());
$(s).css("color", "red");
}
})
}
示例jsFiddle