2015-09-12 31 views
0

我希望當它的值改爲更改標籤的背景色。我的代碼無法正常工作。我如何做到這一點?如何更改標籤的背景顏色,當它的值改爲

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

} 
+1

'label'沒有'value',使用'text()'代替,你可能需要'$ .trim()'它也是 – billyonecan

回答

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> 

功能僅呼籲啓動。

+0

這不起作用,輸入在哪裏?也許我在他想要什麼困惑。 – Bryan

0

我想你的函數只能呼籲啓動。你所需要的就是一個jQuery的變化處理程序: https://api.jquery.com/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'); 
    } 
}); 

希望這有助於!