简体   繁体   English

如何在jQuery模板中使用If else条件进行跨度?

[英]How to use If else condition in jquery template for span?

Working on mvc4 web api project with jquery template. 使用jquery模板处理mvc4 Web API项目。 Depending upon database value I want to show the stars span class on View. 根据database value我想在View上show the stars span class

<div>
<span class="font-icon-star"></span>
<span class="font-icon-star"></span>
<span class="font-icon-star"></span>
<span class="font-icon-star"></span>
<span class="font-icon-star-line"></span>
</div>${Rating}

{{If Rating = 4 }}
then it should show 4 full stars and 1 empty star

How can i make this dymanic depending upon $Rating value? 我如何根据$ Rating值进行这种动态调节?

在此处输入图片说明

Try, 尝试,

$('span').addClass('font-icon-star-line');

$('span').filter(function(){ 
   return $(this).index() <= rating; 
}).removeClass('font-icon-star-line').addClass('font-icon-star');
<div>
   ${Rating}
   <span class="${Rating > 0 ? 'font-icon-star' : 'font-icon-star-line'}"></span>
   <span class="${Rating > 1 ? 'font-icon-star' : 'font-icon-star-line'}"></span>
   <span class="${Rating > 2 ? 'font-icon-star' : 'font-icon-star-line'}"></span>
   <span class="${Rating > 3 ? 'font-icon-star' : 'font-icon-star-line'}"></span>
   <span class="${Rating > 4 ? 'font-icon-star' : 'font-icon-star-line'}"></span>
</div>

I'd suggest: 我建议:

$('span.ratingpointgrppage').addClass(function(i){
    return 'font-icon-star' + (Rating > i ? '-line' : '');
});

The above assumes you want to keep the original class-name ( ratingpointgrppage ) if not, however: 上面假设您要保留原始的类名( ratingpointgrppage ),但是:

$('span.ratingpointgrppage').removeClass('ratingpointgrppage').addClass(function(i){
    return 'font-icon-star' + (Rating > i ? '-line' : '');
});

References: 参考文献:

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM