2011-08-04 156 views
0

我将在单击按钮时在html div标记中显示Flexigrid。Flexigrid的函数将位于Javascript函数中。所以我添加了一个图片标签与onclick调用函数,它被称为f_reload()这将加载flexigrid函数。第一次加载。通过第二次点击它再次加载网格。请帮帮我。当按下按钮时加载div

 <script type="text/javascript"> 

     function loadFlexiGrid(){ 
       //here flexigrid content 
        $("#flex1").flexigrid{{ 
         //...........}} 
     } 

     function eventhandler() { 
       $("#flex").html(function() { //this function used to reload grid but it is not called when click second time on the button 
      return "<div id='flex1'></div>";}); 

     javascript:loadGrid(); 
     } 
    </script> 

<input type="image" class="btn" id="sub" src="<?=base_url();?>images/rbtnsave.gif"   
            onclick="eventhandler();"/> 
    <div id="flex"><div id="flex1"></div></div> 
    </div> 

这里flex1的flecigrid的id和flex是div的id。

当点击第一次按钮时,它会显示网格。但第二次它不为什么

回答

1

当执行事件处理程序,在$('#flex').html()嵌套函数声明,但不执行。为什么你把它放在那里有特别的理由吗?

否则,尝试用替换它:

function eventhandler() 
    { 
     $("#flex").html("<div id='flex1'></div>"); 
     javascript:loadGrid(); 
    } 

第一次它工作得很好,因为你已经在你的HTML把<div id="flex1"></div>手动。

另外,你确定javascript:loadGrid()是正确的吗?尝试删除javascript:部分。并且 - 如果是指function loadFlexiGrid(),则称其为loadFlexiGrid();,而不是loadGrid();

+0

我手动把div与id =“flex1”.i刚刚删除了div并调用loadFlexGrid();没有Javascript前缀的函数最后它工作正常。感谢@Pellen ten Cate – Srini

0

使用click()函数..

$("#flex").click(function()