注意:以下解决方案来自本主题 ,请先查看。
我有11个输入:
(其中[something]
是一个名称,每个输入都不同)
$(document).on("change", ".inputs", function(){ var thisclass = $(this).attr('class').split("-")[0]; if($(this).val() == ''){ // } highlightInputNumbers(thisclass, 0); });
highlightInputNumbers
函数就是这样的:
function highlightInputNumbers(classe, stepcount, empty){ var all= $("td[class*="+classe+"]"); var index = all.length-1; var concat_steps = $(all[index]).html().split('.') //var due_serie = $(all[index]).html().split('.') var due_serie = $('.'+classe+'-input').val().split('.') for (var i = index; i >= (index-stepcount)+2; i--) { due_serie = due_serie.concat($(all[i-1]).html().split('.')); }; //Rimuovo i doppioni var serieCompleta = []; $.each(due_serie, function(i, el){ if($.inArray(el, serieCompleta) === -1) serieCompleta.push(el); }); //Ottengo dati for(var s = 0; s < index-(stepcount-1); s++){ var bar = $(all[s]); var barnum = bar.html().split('.'); bar.html(''); var found = 0; for(i = 0; i<= barnum.length-1; i++){ for(n = 0; n<= serieCompleta.length-1; n++){ if(i != 4){ var punto = '.' }else{ var punto = ''} /* Problem here:*/ if(barnum[i] == serieCompleta[n]){ bar.append(''+barnum[i]+''+punto+''); found = barnum[i]; } } if(barnum[i] != found){ bar.append(''+barnum[i]+punto+''); } } } }
我评论的地方/*Problem here*/
是我突出列中的数字(我已插入),但如果我删除输入中的数字,它们会保持突出显示…如果我更改它们保留旧的。 。
如您所见: https : //dl.dropboxusercontent.com/u/2276958/Cols_and_rows.mov
代码中添加少量内容。 让我试着解释你的代码中发生了什么。
首先尝试:
额外的代码是:
// Check if values bar already contains Span tags (means already processed in first try var hasSpans = bar.find('span').length>0; if(hasSpans) { //If yes then extract the actual values from these span tags without '.' (This will work for all tries after FIRST) barnum=bar.find('span').map( function() { if($(this).html() != '.') return $(this).html().replace('.',''); }).get(); } // else normal case, split the values by '.' (This will for very FIRST try) else barnum = bar.html().split('.');
$(document).on("change", ".inputs", function(){ var thisclass = $(this).attr('class').split("-")[0]; if($(this).val() == ''){ // } highlightInputNumbers(thisclass, 0); }); function highlightInputNumbers(classe, stepcount, empty){ var all= $("td[class*="+classe+"]"); var index = all.length-1; var concat_steps = $(all[index]).html().split('.') //var due_serie = $(all[index]).html().split('.') var due_serie = $('.'+classe+'-input').val().split('.') for (var i = index; i >= (index-stepcount)+2; i--) { due_serie = due_serie.concat($(all[i-1]).html().split('.')); }; //Rimuovo i doppioni var serieCompleta = []; $.each(due_serie, function(i, el){ if($.inArray(el, serieCompleta) === -1) serieCompleta.push(el); }); //Ottengo dati for(var s = 0; s < index-(stepcount-1); s++){ var bar = $(all[s]); var barnum; var hasSpans = bar.find('span').length>0; if(hasSpans) { barnum=bar.find('span').map( function() { if($(this).html() != '.') return $(this).html().replace('.',''); }).get(); } else barnum = bar.html().split('.'); bar.html(''); var found = 0; for(i = 0; i<= barnum.length-1; i++){ for(n = 0; n<= serieCompleta.length-1; n++){ if(i != 4){ var punto = '.' }else{ var punto = ''} /* Problem here:*/ if(barnum[i] == serieCompleta[n]){ bar.append(''+barnum[i]+''+punto+''); found = barnum[i]; } } if(barnum[i] != found){ bar.append(''+barnum[i]+punto+''); } } } }
span.highlight{ color:green; font-weight:bold; }
02/05/2015 89.10.86.30.65 30/04/2015 96.11.73.36.13 02/05/2015 78.34.50.72.11 30/04/2015 34.78.69.60.22 02/05/2015 12.29.30.69.33 30/04/2015 59.10.20.96.44
02/05/2015 89.10.86.30.65 30/04/2015 96.11.73.36.13 02/05/2015 78.34.50.72.11 30/04/2015 34.78.69.60.22 02/05/2015 12.29.30.69.33 30/04/2015 59.10.20.96.44
以上就是jQuery教程分享jQuery:字段为空后重置类相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/532504.html