html - jQuery check if VARIABLE currentscore is between object keys -
here code. want , display messages after checking if variable currentscore between object keys
<html> <head> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> </head> <body> <div class='hidemeadmin'> <div data-score="40" data-role="awww....."></div> <div data-score="50" data-role="average"></div> <div data-score="60" data-role="good"></div> <div data-score="80" data-role="perfect"></div> </div> </body> <script> //function $(document).ready(function(){ var containerscoretext = ".hidemeadmin"; var numberitems = $(containerscoretext).children().length; var scorevariable = {};// create object var currentscore = 45; $(containerscoretext+" div").each(function (i) { var score = $(this).attr("data-score"); scorevariable[score] = $(this).attr("data-role"); }); console.log(scorevariable); //need check if currentscore between 2 object keys }); </script> </html>
you want modify bit html dont have parse string int later on
<div class='hidemeadmin'> <div data-score=40 data-role="awww.....">test</div> <div data-score=50 data-role="average">test</div> <div data-score=60 data-role="good">test</div> <div data-score=80 data-role="perfect">test</div> </div>
maybe there better way, works
$(document).ready(function () { var containerscoretext = ".hidemeadmin"; var numberitems = $(containerscoretext).children().length; var currentscore = 35; (i = 0; < numberitems; i++) { var key1 =$(containerscoretext).children().eq(i).attr("data-score"); var key2 = $(containerscoretext).children().eq(i+1).attr("data-score"); if (currentscore >= key1 && key2 >= currentscore) { console.log($(containerscoretext).children().eq(i+1).attr("data-role")); } if(i == 0 && currentscore <= key1){ console.log($(containerscoretext).children().eq(i).attr("data-role")); } //in case want >80 perfect... if(i == numberitems-1 && currentscore >= key1){ console.log($(containerscoretext).children().eq(i).attr("data-role")); } } });
edit : here jsfiddle link
Comments
Post a Comment