2017-05-24 13 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; 
}   

Connectionの出力は、[オブジェクト] [オブジェクト]のように見えます。 私はjQueryの教祖ないんだけど...しかし、それはあなたがに実行している1つの問題のように見えますセルは

答えて

0

を助けてください、私は私の希望div要素を作成したとのcellRenderer機能を経由して、それを返されたドキュメントの後は、あなたが戻ってきているということですHTML要素ではなくJQueryオブジェクト(この場合は配列のように見える)。 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あなたがスタックオーバーフローを初めて経験したようです。この答えがあなたの問題を解決するのに役立つならば、それを正しい答えとして "受け入れる"ことができます。あるいは、この答えがあなたに正しい方向に導いたならば、それをアップアップすることができます。 –

0

うんリターンの$ wrapper_divそれはjQueryのDOMオブジェクトですので、[0]、あなたが通常の返却とされていませんDOMオブジェクト。 jQuery DomオブジェクトとHTML DOMオブジェクトが異なるjQueryドキュメントを読んでください。なぜそれを配列として使用できるのか、なぜ最初の要素を返すのか理解できます。 次に、変数名に$を使用していますか?これは$を使用する必要がないPHPではありません。 では、jQuery $はセレクタを扱い、jQuery DOMオブジェクトにアクセスする特殊な$関数に関連付けられた特別なキーワードです。 $はjQuery()のオーバーロードされた関数のエイリアスです。