2015-10-30 36 views
0

我想建立一個fooTable,其中我的表頭聲明是在另一個窗體上,並且html行字段在另一個窗體上。這裏是集設計,FooTable是未定義的錯誤

親形式

<table class="footable table" id="L-EGY-TRG-501-00BP_fooTable" > 
     <thead> 
      <tr> 
        <th data-sort-initial="true" data-toggle="true">Employed by</th> 
        <th>Category</th> 
        <th data-hide="phone, tablet">Sub-Category</th> 
        <th data-hide="phone, tablet">Attendee Count</th> 
      </tr> 
     </thead> 
     <tbody id="L-EGY-TRG-501-00BP_fooTableBody"> 
    </tbody> 
</table> 

TRG排形式

<table> 
    <tr id="yyy" data-losstype="fin-row" data-GUID="L-EGY-TRG-ROW-501-003H"> 
     <td> 
      <input type="text" class="form-control" id="yyy_EmployedBy" name="yyy_EmployedBy" value="" > 
     </td> 
     <td> 
      <input type="text" class="form-control" id="yyy_Category" name="yyy_Category" value="" > 
     </td> 
     <td> 
      <input type="text" class="form-control" id="yyy_SubCategory" name="yyy_SubCategory" value="" > 
     </td> 
     <td> 
      <input type="text" class="form-control" id="yyy_attendeecount" name="yyy_attendeecount" value="" > 
     </td> 


     <td> 
      <button type="button" class="btn btn-sm btn-default btn-rounded" onClick="#" title="Add Attendee Row"> 
        <i class="fa fa-plus"></i> 
      </button> 
      &nbsp; 
      <button type="button" class="btn btn-sm btn-default btn-rounded removeRowLink" onClick="#" title="Remove Attendee Row"> 
        <i class="fa fa-minus"></i> 
      </button> 
     </td> 

    </tr> 
</table> 

這是我在嘗試使用jQuery做,

$(document).ready(function(){ 
     guid="xxxxx" 
     prepTable("/pro?openform,guid); // 
}); 
function prepTable(surl,guid){ 
      $.get(surl, function(data) {    

     var footable = $(data).find('.footable').footable(); 

     guid="xxxxx";      
     buildFooTable(guid,"/trg-row?openform"); 

      }); 
} 

funtion buildFooTabl(containerID,surl) { 
     $.get(surl, function(data) { 
      var $row = $(data).find('#yyy'); 
      var footable = $('#' + containerID + '_fooTable').data('footable'); 
      var rowid = $row.attr('data-GUID'); 
      $row.find('[id*=yyy]').each(function() { 
        var id = this.id || ""; 
        this.id = id.replace('yyy', rowid) 
       }); 
      $row.find('[name*=yyy]').each(function() { 
       var nm = this.name || ""; 
        this.name = nm.replace('yyy', rowid) 
      }); 

     $row.attr('id',rowid); 
      footable.appendRow($row); 
     }); 

但得到錯誤「TypeError :footable是未定義的「在這條線上的錯誤,但是fooTable id正確。

var footable = $('#' + containerID + '_fooTable').data('footable'); 
+0

有一個在DOM沒有這樣的元素與ID =「xxxxx_fooTable」 – DinoMyte

+0

@DinoMyte,燁它的存在..Check我的編輯 – Rishi

回答

1

你所得到的錯誤是在這條線:

var footable = $('#' + containerID + '_fooTable').data('footable'); 

的問題是,沒有一個地方在你的HTML你有像「數據footable」的屬性。

jQuery方法.data('parm')獲取data-parm屬性的值。該參數是無關緊要的。如果你有這樣一個div:

<div id="mydiv" data-mytext="This is my text"></div> 

而且你這樣做:

var mytext = $('#mydiv').data('mytext') 
alert(mytext); 

警報會說; 「這是我的文字」。因爲.data('mytext')函數已經提取了data-mytext屬性的值。

那麼你想要加載到var footable?如果你試圖讓你的表的參考,你有正確的數據筒,那麼你只需要

var footable = $('#' + containerID + '_fooTable'); 
+0

1- .footable()在footable.all.min.js中定義,已在代碼 中引用2-我沒有看到任何需要添加data-footable =「value」屬性的ref。你能指點我嗎? 3-當我提醒$('#'+ containerID +'_fooTable')時,它給了我確切的id,這是我的表所以在這裏也沒有看到任何問題。 – Rishi

+0

好吧,該代碼沒有發佈在這裏,所以我不知道它。但是另一個項目是你提到的那個。當你使用jQuery方法$('#selector')。data('footable')時,你會說「在DOM中找到ID =」selector「的項目,並給出屬性'data-footable ='的值值「'我沒有看到你的代碼中的任何地方,你發佈的屬性'數據足跡' –

+0

我不知道我是否必須在html中設置data-footable =」value「,你能告訴我在哪裏 – Rishi