jQuery技术:jQuery:字段为空后重置类

注意:以下解决方案来自本主题 ,请先查看。

我有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/201589.10.86.30.65
    30/04/201596.11.73.36.13
    02/05/201578.34.50.72.11
    30/04/201534.78.69.60.22
    02/05/201512.29.30.69.33
    30/04/201559.10.20.96.44
    02/05/201589.10.86.30.65
    30/04/201596.11.73.36.13
    02/05/201578.34.50.72.11
    30/04/201534.78.69.60.22
    02/05/201512.29.30.69.33
    30/04/201559.10.20.96.44

      以上就是jQuery教程分享jQuery:字段为空后重置类相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/jquerytutorial/532504.html

      (0)
      上一篇 2020年12月21日
      下一篇 2020年12月21日

      精彩推荐