2017-05-24 76 views
0
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; 
}   

在連接輸出類似於[對象] [對象]:enter image description here細胞在AG-柵格渲染問題

我的目標是在連接柱中的每個單元以顯示hoverable下拉。 下面我創造了我期望的div元素,並通過cellRenderer的函數返回它的文檔 請幫

回答

0

我不是一個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>

+0

@MeetShah看起來你是Stack Overflow的新手。如果這個答案幫助你解決了你的問題,你可以「接受」它作爲正確的答案,或者如果這個答案引導你在正確的方向上,那麼你可以放棄它。 –

0

是的回報$ wrapper_div [0],因爲它是一個jQuery的DOM對象,你正在返回,而不是一個正常的DOM對象。 jQuery Dom對象和HTML DOM對象不同,讀取jQuery文檔。你會明白爲什麼你可以將它作爲一個數組使用,並且爲什麼你返回第一個元素。 其次爲什麼你在變量名中使用$?這不是PHP,你不需要使用$。 在jQuery中$是一個特殊的關鍵字,它與一個處理選擇器和訪問jQuery DOM對象的特殊$函數相關聯。 $是jQuery()重載函數的別名。