我希望在更改值时更改标签的背景颜色。我的代码无法正常工作。我怎么能这样做?
HTML:
<label class="label-default lb_status label-danger"> confirmed </label>
JavaScript的:
$(function () {
var status=$('.lb_status').val();
if (status == "confirmed") {
$('.lb_status').removeClass('label-default').addClass('label-success');
}
else if (status == "pending") {
$('.lb_status').removeClass('label-default').addClass('label-warning');
}
else if (status == "declined") {
$('.lb_status').removeClass('label-default').addClass('label-danger');
}
答案 0 :(得分:0)
我认为您的功能仅在启动时调用。你需要的是一个jquery更改处理程序: https://api.jquery.com/change/
这是一个工作示例,但请注意,change()仅适用于输入元素: https://jsfiddle.net/g99013r9/
$(".lb_status").change(function() {
var status=$('.lb_status').val();
console.log(status);
if (status == "confirmed") {
$('.lb_status').removeClass('label-default').addClass('label-success');
}
else if (status == "pending") {
$('.lb_status').removeClass('label-default').addClass('label-warning');
}
else if (status == "declined") {
$('.lb_status').removeClass('label-default').addClass('label-danger');
}
});
希望这有帮助!
答案 1 :(得分:0)
以下是工作示例http://jsfiddle.net/L3xz0s97/
<label class="label-default lb_status label-danger">confirmed</label>
<script>
$(function () {
var status=$('.lb_status').text();
if (status == "confirmed") {
$('.lb_status').removeClass('label-default').addClass('label-success');
}
else if (status == "pending") {
$('.lb_status').removeClass('label-default').addClass('label-warning');
}
else if (status == "declined") {
$('.lb_status').removeClass('label-default').addClass('label-danger');
}
})
</script>
仅在启动时调用函数。