下面是自动完成结果函数的 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/