我想要实现的目标。如果某些员工的Url不存在,那么我不想显示错误页面而是显示该员工的链接本身。我已经用两种不同的方式完成了它,但它们都没有工作。请帮忙。我有以下完整的代码。除了我的链接可以连接的没有html页面的url部分之外,所有这些都正常工作。请帮忙!!
function test(a,b) {
var Name = a.text();
$.ajax({
type: "POST",
url: "EmpServices.asmx/GetInfo",
data: '{ "fieldName": "' + a.attr("id") + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(results) {
// if (results.d.Url.length < 2)
// {
// $('#url').hide();
// }
if (results.d.EmpName.length > 1) {
var html = '<div style="width:25%;"><img src="' + results.d.image + '" /></div>'
+ '<div style="width:75%;">'
+ '<div><h3>' + results.d.EmpName + '</h3></div>'
+ '</div>';
//+ '<div id="url"><a href="' + results.d.Url+ '">Info></a></div>';
if (results.d.Url.length < 2)
{
html += '<div id="url"><a href="' + results.d.Url+ '">Info></a></div>';
}
$(Employee).html(html);
}
},
error: function() {
$(Employee).html('Error');
}
});
}
答案 0 :(得分:1)
你不能在那里打电话$('#Url').hide()
,因为你还没有把它添加到dom中,做这样的事情:
var Name = a.text();
$.ajax({
type: "POST",
url: "EmpServices.asmx/GetInfo",
data: '{ "fieldName": "' + a.attr("id") + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(results) {
if (results.d.EmpName.length > 1) {
var html = '<div style="width:25%;"><img src="' + results.d.image + '" /></div>'
+ '<div style="width:75%;">'
+ '<div><h3>' + results.d.EmpName + '</h3></div>'
+ '</div>';
if (results.d.Url.length >= 2)
{
html += '<div id="url"><a href="' + results.d.Url+ '">Info></a></div>';
}
if (results.d.ProductUrl.length < 2)
{
html += '<div id="url"><a href="' + results.d.Url+ '">Info></a></div>';
}
$(contentElement).html(html);
}
},
error: function() {
$(contentElement).html('Error');
}
});
}
我在这里做的不是添加网址div,而是尝试隐藏它,如果你没有网址,就不要添加div!
答案 1 :(得分:0)
您是否自己编写了服务器端代码?如果你这样做了,你可以修改它以返回空字符串('')
而不是null
,如果URL不存在,你可以替换它:
if (results.d.Url.length < 2)
{
html += '<div id="url"><a href="' + results.d.Url+ '">Info></a></div>';
}
用这个:
if (results.d.Url)
{
$(html).append('<div id="url"><a href="' + results.d.Url + '">Info></a></div>');
}
$(html).append(...)
负责在封闭的DIV中插入URL。