我试图根据templateCount
的值使文本成为单数或复数。如果templateCount
的值为1,那么我只想要'模板'来表示,但如果templateCount
是复数,我希望它说“模板已选中”。
我的代码出了什么问题?
$('#templateCount').html(templateCount + " Templates Selected" + templateCount.length == 1 ? "" : "s");
答案 0 :(得分:4)
你确定你想到了吗?你有字符串"Templates selected"
,并且有条件地将s
附加到 end (这将使其成为"Templates Selecteds"
)。
这样做:
$('#templateCount').html(templateCount +
" Template" +
(templateCount === 1 ? "" : "s") +
" Selected");
答案 1 :(得分:2)
我不确定你的意思是,如果templateCount == 1或者templateCount的长度是1,你想在结尾放一个's'。这可能是两个非常不同的东西。
如果你想要它基于变量== 1,那么我会尝试:
var templateCount;
// set it somewhere
var plural = templateCount === 1 ? "" : "s";
$('#templateCount').html(templateCount + " Template"+plural+ " Selected");
如果是您实际使用的长度,请将复数更改为
var plural = templateCount.length > 1 ? "" : "s";
答案 2 :(得分:2)
试试这个
function makeStatement(templateCount) {
return templateCount + " Template" + (templateCount == 1 ? "" : "s") +" Selected";
}
console.log(makeStatement(1));
console.log(makeStatement(2));
在你的情况下
$('#templateCount').html(templateCount + " Template" + (templateCount == 1 ? "" : "s") + " Selected");
答案 3 :(得分:1)
也许我正在读错你的问题,但是你不需要改变代码看起来像这样吗?
$('#templateCount').html(templateCount + " Template" + (templateCount.length == 1 ? "" : "s") + " Selected");
答案 4 :(得分:0)
喜欢这个吗?
var templateCount = [ 1 ];
function test() {
var tmp = templateCount.length == 1 ? 1 : "Templates Selected";
$("#test").val(tmp);
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="test">
<button onclick="test()">Test</button>
&#13;