在jQuery中使用If Else

时间:2018-11-25 18:35:29

标签: jquery ajax

在我的脚本中建立一个if else语句。

如果我要运行data = 0,请返回:

<i class="fa fa-check-circle"></i>

如果我要运行data = 1,请返回:

<i class="fa fa-id-badge"></i>

如果我要运行data = 2,请返回:

<i class="fa fa-quora"></i>

到目前为止,我已经构建了一个简单的If Else语句。返回的数据为fa fa-check-circle时,我的脚本显示为0,否则显示为fa fa-id-badge

有人知道我如何为所有选项定义。像这样:

(data == 0)
(data == 1)
(data == 2)

这是我的剧本:

<script type="text/javascript">
 $( document ).ready(function() {
  $('#grid1').DataTable({
   "bprocessing": true,
   "serverSide": true,
        "ajax": {
            "url": "response1.php",
            "type": "POST",
            "error": function(){
                $("#grid_processing").css("display","none");
            }
        },
       "columnDefs": [ 
            { "targets": 0, "render": 
            function ( data, type, full, meta ) { 
            return  '<i class="'+ (data == 0 ? 'fa fa-check-circle"></i>' :  'fa fa-id-badge"></i>'); 
            } } 
        ]    
  });   
 });
</script>

3 个答案:

答案 0 :(得分:2)

这实际上只需要一个基本的if ... else语句,而不是一个三元语句。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else

function ( data, type, full, meta ) { 
    var class;
    if (data == 0) {
        class = 'fa fa-check-circle';
    } else if (data == 1) {
        class = 'fa fa-id-badge';
    } else if (data == 2)) {
        class = 'fa fa-id-quora';
    }
    return  '<i class="' + class + '"></i>'); 
}

您当然可以继续使用三元语言,但这有点难看:

function ( data, type, full, meta ) { 
    return  '<i class="fa ' + (data == 0 ? 'fa-check-circle' : (data == 1 ? 'fa-id-badge' : 'fa-quora')) + '"></i>'); 
} 

答案 1 :(得分:1)

有多种方法可以做到这一点,其中之一就是开关盒。

var icon = '';
function(data, type, full, meta ){
    switch(data){
        case '0':
            icon = "fa-check-circle";
            break;
        case '1':
            icon = "fa-check-badge";
            break;
        case '2':
            icon = "fa-check-quora";
            break;
        default:
            icon = "fa-check-circle";
    }

    return '<i class="fa '+ icon +'"></i>';
}

答案 2 :(得分:0)

您可以使用开关代替三进制,这样更易​​读。

function (data, type, full, meta) {
    var iconClass;
    switch (data) {
        case 0:
            iconClass = "check-circle";
            break;
        case 1:
            iconClass = "id-badge";
            break;
        case 2:
            iconClass = "quora";
            break;
    }
    return  "<i class='fa fa-" + iconClass + "'></i>"; 
}