如何在更改值时更改标签的背景颜色

时间:2015-09-12 16:34:30

标签: javascript jquery css

我希望在更改值时更改标签的背景颜色。我的代码无法正常工作。我怎么能这样做?

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');

}

2 个答案:

答案 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>

仅在启动时调用函数。