如果这是重复的邮件,我很抱歉,我在任何地方都找不到这种情况。
我有一个ajax调用转到我们的ldap服务器,该服务器返回这样的JSON对象:
{groups:
[{dn: "cn=test,ou=security,ou=groups,dc=company,dc=com", isDynamicGroup: true}]
在响应中,这就是我看到的
{dn: "cn=test,ou=security,ou=groups,dc=company,dc=com",
isDynamicGroup: true}
dn: "cn=test,ou=security,ou=groups,dc=company,dc=com"
isDynamicGroup: true
我可以很好地填充DOM元素并设置前端样式,因此用户可以单击组并加载成员。但是,我想做的是过滤掉isDynamicGroup: false
并为匹配单独ID /类的对象提供样式。主要是为了让用户知道他们无法发送数据。
这是ajax中的群组通话
//Display groups
$(function displayGroupItems() {
$(document).on('click', '#ldap-tab', function(event) {
$.ajax({
url: 'ldap/groups',
method: 'GET',
dataType: 'json',
success: function(data) {
$.each(data.groups, function(i, dn) {
$('<li><a id="groupsList" class="panel-block dn-class">' + dn.dn + '</a></li>').appendTo('#groupSearchUl');
});
}
})
});
});
现在对象呈现
<div class="groupsList">
<ul class="groupSearchUl">
<li><a id="groupsList" class="panel-block dn-class">groupName</a>
</li>
</ul>
</div>
我想看
<div class="groupsList">
<ul class="groupSearchUl">
<li><a id="groupsList dynamicgroup" class="panel-block dn-
class">groupName</a>
</li>
</ul>
</div>
答案 0 :(得分:1)
要过滤掉isDynamicGroup设置为false的组,可以使用:
target
如果只想将一个类分配给isDynamicGroup属性设置为true的组,则可以使用类似的方法:
var myObject = myObject || {};
myObject = {
d: {
get: function(list, id) {
// do stuff
}
},
// Use this to duplicate shared funtions for similar
spec: function(target) {
return {
data: [],
list: target,
get: function() {
myObject.d.get(a, b);
},
update: "",
delete: ""
};
}
};
// some how return `myObject.spec.get()`, allowing me to use myObject.d.prop1.get()
myObject.prop1 = myObject.spec("prop1");
myObject.prop2 = myObject.spec("prop2");
答案 1 :(得分:0)
如果我理解为将成功回调替换为以下内容,那么您应该会得到想要的东西。
$.each(data.groups, function(i, dn) { $('<li><a id="groupsList" class="panel-block ' + (dn.isDynamicGroup ? 'dynamic-group' : '') + ' dn-class">' + dn.dn + '</a></li>').appendTo('#groupSearchUl'); });
如果该链接是动态组,则它将具有dynamic-group
类。