如何根据计数器值替换文本?

时间:2015-05-24 14:02:51

标签: javascript jquery

调用两组复选框所产生的计数功能。第一组代表类别,当列出该类别的点击主题时。

html:id:counter显示计数值。 id:select依次替换文本

<div class="small-8 text-left columns" style="left:-30px;">

  <span id="counter"><span id="count">0</span></span>

  <span id="select">Select Subjects</span>

</div>

脚本:(类别组)为ajax提取的主题传递值。 updateCount();is the count function call.

$("input[type=checkbox][id^=level]").change(function() {  
  var selectedval = $(this).val();
  if($(this).is(":checked")) {
    var selectedtext = $(this).next().text();
    sendtobox(selectedval, $("#slider1").val(),"regis");
  } else {
    $("th."+selectedval).remove();
    updateCount();

  }
});

(科目组)

$(document).on('change', '[id^=sub][type=checkbox]', updateCount);

计数功能:

function updateCount () {

 $('#count').text($('[id^=sub][type=checkbox]:checked').length);

}

替换文字的脚本:

$(".close-reveal-modal").on("click",function()
{
    document.getElementById("select").innerHTML = "Select subject";
    var str = document.getElementById("select").innerHTML; 
    var res = str.replace("Select subject", "Selected Subject");
    document.getElementById("select").innerHTML = res;
});

现在我可以替换文字了,计数工作得很好!我的问题是它不遵守英语语法!

如果返回0个项目/主题,则文本应为0选定主题,如果选中大于1,则应该说明相同。请参阅“主题”一词中必须添加的内容。

我的问题是,我无法确定替换此文本的计数数量。

我想要这样:

if ($("#count") >1 || ($("#count")==0))

      {
        var res = str.replace("Select subject", "**Selected Subjects"**);
        document.getElementById("select").innerHTML = res;

      }
     else
      {
     var res = str.replace("Select subject", "**Selected Subject"**);
        document.getElementById("select").innerHTML = res;
}

我试图提醒$('#count')。长度,每次选中复选框时都会像这样红色:

1 1 1 1

我期待的是

1 - 点击一次

2 - 点击两次

这种方式对我来说更容易替换文本!

1 个答案:

答案 0 :(得分:1)

听起来你想要这个比较的id为'count'的跨度的TEXT:

if ($("#count").text() == "1") {
    // singular
}
else {
    // plural
}