2010-03-24 3 views
-1

Этот код создает беспорядок ... Что я делаю неправильно?JQuery table cell

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

+0

это полностью должно. Что это значит? запишите его в firebug и посмотрите – naugtur

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

+0

дает мне исключение Jquery :( – GorillaApe

+0

@Parhs:?. Почему, где он выглядит нормально для меня –

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

+0

добро пожаловать! – lugte098