如果变量是空字符串,则附加各种div元素

时间:2018-07-10 15:35:01

标签: javascript php jquery ajax

我正在从头开始为个人项目构建管理面板,我要做的任务之一是在表中显示数据,为了获取此数据,我使用AJAX和JQuery从服务器获取数据并在前端填充表格。

此数据具有发送的字符串字段(可以是字符串或日期格式),我遇到的问题是,仅当发送的字段为空字符串“”时,我才想附加一个字体真棒按钮,而不必创建其他html成功函数中的模板。

我的JQuery代码:

$.ajax({

    async: true,
    url: '/bulletins',
    type: 'GET',
    dataType: 'JSON',
 
    success: function (data) { 
			
        $('.row[data-link=' + linked_entry + ']').remove();
	
        $.each(data.bulletins, function (index, item) {
		
	        var subbed_row = '<tr class="row" data-link="subs">';
            subbed_row += '<td>' + item.title + '</td>';
            subbed_row += '<td>' + item.body + '</td>';
			subbed_row += '<td>' + item.sent + '</td>';
			subbed_row += '<td class="entry_table_options_container"><i class="fa fas fa-envelope form_show_edit" data-link="subs" data-id="'+ item.id + '" data-title="'+ item.title +'" data-body="'+ item.body +'"  data-sent="'+ item.sent +'" title="Enviar boletín a todos los subscriptores" style="background-color:#82C91E;"></i></td>';
            subbed_row += '</tr>';
	
			$('.entry_table_container[data-link=' + linked_entry + ']').append(subbed_row);
        });       
    },
	
    error: function (data){
        var errors = data.responseJSON;
        console.log(errors);
    }

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

这是我要添加或不添加的部分,以防万一,如果不为空,则该行将不显示按钮。

subbed_row += '<td class="entry_table_options_container"><i class="fa fas fa-envelope form_show_edit" data-link="subs" data-id="'+ item.id + '" data-title="'+ item.title +'" data-body="'+ item.body +'"  data-sent="'+ item.sent +'" title="Enviar boletín a todos los subscriptores" style="background-color:#82C91E;"></i></td>';
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

1 个答案:

答案 0 :(得分:0)

ternary operator对于小型内联'if'条件非常有用。

您的使用方式如下:

#Outputs:
2010-01-01 20:30:30
01/01/2010

因此,在您的情况下,您应该可以执行以下操作:

condition ? [result if true] : [result if false]

如果subbed_row += data === '' ? '<td class="entry_table_options_container"><i class="fa fas fa-envelope form_show_edit" data-link="subs" data-id="'+ item.id + '" data-title="'+ item.title +'" data-body="'+ item.body +'" data-sent="'+ item.sent +'" title="Enviar boletín a todos los subscriptores" style="background-color:#82C91E;"></i></td>' : '' data,则它将''字符串添加到td,否则将不添加任何内容(subbed_row)。