jQuery/PHP-根据DIV的值使用不同的标签
我有两个div,jQuery/PHP-根据DIV的值使用不同的标签,php,jquery,wordpress,Php,Jquery,Wordpress,我有两个div,和 我想设计一个if/else语句,这样,如果“number”中的值为1,它将返回一个标签,例如“User”,而如果数字为2或更高,它将变为“Users” 是否有方法检查.number的值,然后根据该值返回标签 此外,在同一页上还有5个“数字”和“标签”实例。每个数字都将通过从数据库查询其值(Wordpress自定义字段Meta)返回 此外,每个实例的标签都不同,第一个可能是“用户”,而第二个可能是“产品”,等等 我该怎么做我需要的 下面是我的代码示例: <div clas
和
我想设计一个if/else语句,这样,如果“number”中的值为1,它将返回一个标签,例如“User”,而如果数字为2或更高,它将变为“Users”
是否有方法检查.number的值,然后根据该值返回标签
此外,在同一页上还有5个“数字”和“标签”实例。每个数字都将通过从数据库查询其值(Wordpress自定义字段Meta)返回
此外,每个实例的标签都不同,第一个可能是“用户”,而第二个可能是“产品”,等等
我该怎么做我需要的
下面是我的代码示例:
<div class="data-item employees">
<div class="number"><?php echo $sc_data_employees; ?></div>
<div class="label"></div>
</div>
<div class="data-item products">
<div class="number"><?php echo $sc_data_products; ?></div>
<div class="label"></div>
</div>
试试这个:
var users = parseInt($(".number").text(),10);
var label = (users == 1) ? "user" : "users";
$(".label").text(label);
如果用户数不是一个整数,例如12.3456
,请使用parseFloat()
而不是parseInt()
尝试:
$('.number').each(function(){
$(this).next('.label').html( ($(this).text()==1)?'user':'users');
});
这将运行class number的所有元素,并更改元素label的下一个实例。根据div的排列方式,可能需要将.next()更改为另一个函数
更新:根据您的修订,尝试以下操作:
$('.number').each(function(){
var plural = $(this).parent().attr('class').split(' ')[1];
var singular = plural.substring(0, plural.length - 1);
$(this).next('.label').html( ($(this).text()==1)?singular:plural);
});
或者,您可以在使用PHP输出到浏览器之前执行此操作
$number = 1; // The number from your database
$text = ($number == 1) ? "User" : "Users"; //
$output = '<div class="number">{$number}</div>
<div class="label">{$text}</div>';
echo $output;
$number=1;//数据库中的号码
$text=($number==1)?“用户”:“用户”//
$output='{$number}
{$text}';
echo$输出;
当你说“数字中的值”时,你是指文本,如1
?是的,它将是一个纯文本数字,如“20”或“3”或“1000”,等等。你想根据数字的内容更改标签的内容吗?是的,没错,这类事情应该在提供文档之前用PHP完成,因为你是从数据库中获取数据的。当然,除非您使用的是AJAX。@Blazemonger感谢您的修复-我想我们在修复时弄乱了彼此的编辑:)如果我想为每一个都添加一个不同的标签怎么办?这看起来效果不错,但我希望每个标签都不同,例如,第一个可能是“用户”,而第二个可能是“产品”?对不起,我应该在原始问题中说明你能发布你实际使用的HTML吗?这样我就可以创建一个完全适合的代码。好的,基于这个代码,我的答案应该仍然有效。示例JSFIDLE:是的,但是如何为每个标签设置不同的标签文本?你的提琴样本中的每一个都使用了“用户”,但举例来说,根据我上面的代码,第一个标签应该是employee/employees,第二个标签应该是product/products,如此等等,我没有意识到你需要它。等一下,最新消息来了。