2010-03-24 218 views
-1

此代碼產生一團糟...我做錯了什麼?Jquery表格單元格

cell=$("<td>"); 
     if(normal.exam_type=="Exam_Boolean") 
     { 
      var input=cell.append("<input>").last(); 

      input.attr("type","hidden"); 
      input.attr("name","exam.exam_Normal['" +normal_id_unique + "'].boolean_v"); 
      input.attr("value",normal.normal_boolean);    

回答

1

我會做這種方式:

var cell = $("<td></td>"); 
if(normal.exam_type=="Exam_Boolean") 
{ 
    $("<input />").attr("type", "hidden") 
      .attr("name", "exam.exam_Normal['" +normal_id_unique + "'].boolean_v") 
      .attr("value", normal.normal_boolean) 
      .appendTo(cell); 
); 

[點之前的換行符只是爲了方便閱讀。]

在追加東西之前,您可能還需要將單元放置在某個文檔中。我不確定

+0

它似乎工作... 但appendTo似乎並沒有返回一個引用$(「input />」) – GorillaApe 2010-03-24 08:25:04

+0

它完全應該。那麼它返回什麼?登錄到螢火蟲,並看看 – naugtur 2010-03-24 12:47:23

0

而不是使用cell.append(input) - 它返回一個參考cell - 嘗試做 「周圍的其他方式」 爲input.appendTo(cell)

var cell = $("<td>"); 
if(normal.exam_type=="Exam_Boolean") 
{ 
    var input= $("<input />").appendTo(cell); 
    input.attr("type", "hidden"); 
    input.attr("name", "exam.exam_Normal['" + normal_id_unique + "'].boolean_v"); 
    input.attr("value", normal.normal_boolean); 
); 
+0

好主意,我會盡量 – GorillaApe 2010-03-24 08:07:43

+0

給了我一個jQuery例外:( – GorillaApe 2010-03-24 08:12:48

+0

@Parhs:爲什麼,它看起來不錯我 – 2010-03-24 08:36:48

0

它的種類取決於你想要的代碼。如果要附加在細胞中的最後一個項目之後的輸入,然後嘗試:

cell=$("<td>"); 
if(normal.exam_type=="Exam_Boolean") 
{ 
    var input=cell.last().after("<input>"); 

    input.attr("type","hidden"); 
    input.attr("name","exam.exam_Normal['" +normal_id_unique + "'].boolean_v"); 
    input.attr("value",normal.normal_boolean); 
}; 

如果不這樣做,你的願望是什麼,也許你應該張貼一些HTML代碼和你想要什麼更好的說明你的代碼要做。

+0

謝謝你好吧 – GorillaApe 2010-03-24 09:37:57

+0

不客氣! – lugte098 2010-03-24 10:05:37