javascript - JS中如何实现条件渲染?

标签 javascript jquery asp.net-mvc

下面是自动完成结果函数的 JS (jQuery) 代码。你可以看到我打印了一些行 <li> s 包含一些 data属性(作为自动完成的 AJAX 调用的结果而出现)。

我怎样才能重写这个,以便 <li>将根据属性是否包含任何值 int 有条件地呈现或string (不是空字符串或空格)或其他可以表示为 string 的内容?

$(".clients-dropdown").result(function (event, data, formatted) {
    if (data) {
        // set the hidden input that we need for Client entity rematerialize
        $(".client-id").val(data.client_id);
        if (data.ClientName && data.Address1 && data.postalcode && data.postname) {
            $(".client-address").html(
                    "<li>" + data.ClientName + "</li>" +
                    "<li>" + data.Address1 + "</li>" +
                    "<li>" + data.postalcode + " " + data.postname + "</li>"
            );
            $(".client-details").html(
                    "<li>" + data.PrettyId + "</li>" +
                    "<li>" + data.VatNo + "</li>" +
                    "<li>" + data.Phone + "</li>" +
                    "<li>" + data.Mobile + "</li>" +
                    "<li>" + data.Email1 + "</li>" +
                    "<li>" + data.Contact + "</li>"
            );
        }
    }

此外,对于 AJAX 调用,我的服务器端操作是否应该返回 null当有null时数据库中的属性或空字符串?

最佳答案

请确定这是否是您想要的。

$(".clients-dropdown").result(function (event, data, formatted) {
var new_li = function(data) {
   $.trim(data) != "" ? "<li>" + data + "</li>" : ''
}
if (data) {

    $(".client-id").val(data.client_id);
    if (data.ClientName && data.Address1 && data.postalcode && data.postname) {
        $(".client-address").html(
                new_li(data.clientName) +
                new_li(Address1) + ... // you get the idea
        );
    }
}

关于javascript - JS中如何实现条件渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5010533/

相关文章:

javascript - 在浏览器中提交表单和在javascript中多线程

javascript - 在 Firefox 中捕获用户设置的文本区域大小

javascript - 页面重定向在功能中不起作用

jquery - $(document).on ('click' ... $.ajax 调用仅执行一次

javascript - 如何在不使用 ngAnimate 的情况下从 ng-repeat 中删除元素时产生淡出效果?

jquery - 使用 jQuery 将 <body id ="grid"> 更改为 <body class ="list">

jquery - $(document).ready() 和部分 View 加载

javascript - 如何针对某个 div(而不是整个页面)运行 queryCommandState?

c# - 身份验证异常 : AuthenticationMechanismTooWeak: 5. 7.14

asp.net-mvc - 未选择值的 DropDownList