var gridOptions = {
columnDefs: [
{headerName: 'Connection', field: 'Applicationaccess',minWidth:350,filter:'text',filterParams:{
filterOptions:['equals','contains']
},cellClass: 'all_grid_cell conn_cell',cellRenderer:function(params){
var p=params.value;
var $wrapper_div = $("<div>",{"class":"w3-dropdown-hover"});
var $newlink=$("<a>",{"href":"javascript:void(0)","class":"link w3-white","text":p});
$newlink.appendTo($wrapper_div);
var $ediv = $("<div>",{"class":"w3-dropdown-content w3-bar-block w3-border"});
var x=['meet','meeeeet','meeeeeeeet'];
for(i=0;i<x.length;i++){
var $btn=abc(x[i]);
$btn.appendTo($ediv);
}
$ediv.appendTo($wrapper_div);
return $wrapper_div;
}}
function abc(x){
var $btn=$("<button>",{"class":" w3-bar-item w3-button","text":x});
return $btn;
} 连接中的输出看起来类似于对象。

我的目标是在连接列的每个单元格中显示一个悬空下拉列表。在文档之后,我创建了我想要的div元素,并通过cellRenderer函数返回它,请帮助
发布于 2017-05-24 15:08:00
我不是JQuery大师..。但是,您遇到的一个问题似乎是,您返回的是一个JQuery对象(在本例中它似乎是一个数组),而不是一个HTML元素。将return $wrapper_div;更改为return $wrapper_div[0];,它应该可以工作。
下面是一个示例,显示了返回内容的不同:
console.log("HTML Element:\n", $("<div>",{"class":"w3-dropdown-hover"})[0])
console.log("JQuery Object:\n", $("<div>",{"class":"w3-dropdown-hover"}))<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
发布于 2017-05-24 15:15:22
是的,返回$wrapper_div,因为它是要返回的jQuery DOM对象,而不是普通的DOM对象。jQuery Dom对象和HTML对象是不同的,请阅读jQuery文档。您将了解为什么可以将其用作数组,以及返回第一个元素的原因。其次,为什么在变量名中使用$?这不是PHP,您不需要使用$。在jQuery中,$是一个特殊的关键字,它与处理选择器和访问jQuery DOM对象的特殊$函数相关联。$是jQuery ()重载函数的别名。
https://stackoverflow.com/questions/44159590
复制相似问题