簡體   English   中英

無法使用MVC4將數據追加到jQuery中的表

[英]Unable to append data to table in jquery with mvc4

我正在嘗試將數據綁定到html表,如下所示。

function showDocumentmetaData(docid) {
        $.ajax(
               {
                   type: "GET",
                   data: { upld_id: docid },
                   dataType: "html",
                   url: '/documentVerification/GetDocumentmetadata',
                   success: function (data) {
                       alert(data);
                       $('#details').html("");
                       $('#details').html(data);
                       alert(data);
                   }
                   , error: function (error) {
                   }
               });
    }
  <table id="details" width="100%" border="0" cellspacing="0" cellpadding="0" class="dataTable" style="text-align:right !important; border-bottom:0"></table>

GetDocumentmetadata將返回部分視圖,如下所示。

@model c3card.DAL.uploadanddocContentviewModel
 @{ 
      string data="";
     int textId;
  }
@foreach (var content in Model.uploadanddocContent)
{
    data += "<tr  class='no-bdr right-align'><td width='30%' scope='col'>" + content.content_Label + "</td>";
    data += "<td width='60%' scope='col'>";
    var cntrolType = content.content_controlType;
    var fieldtype = content.content_fieldType;
    switch (cntrolType)
    {
        case "TextBox":
            if (fieldtype == "varchar")
            {
                data += "<div class='form-box form-box-default'> <input type='text' value='"+content.upld_Value+"' onkeypress='return ValidateAlphaNumeric(event);' id='txtBox" + textId + "' name='" + content.content_Label + "'  class='txtBox form-control validate[required]' maxlength='30' placeholder=''></div></td> ";
            }
            else if (fieldtype == "datetime")
            {
                data += " <div style='width:105%;'><input type='text' value='" + content.upld_Value + "' id='txtBox" + textId + "'  name='" + content.content_Label + "' style='width:90%;margin-right:2px;height:38px;'  class='form-box form-box-default txtBox form-control datepicker validate[required, custom[date,future[now]]]' placeholder=''></div></td> ";
            }
            break;

    }
    textId++;
    data += "</tr>";
}

當我跟蹤上面的代碼變量時,名為data的變量將毫無問題地從模型中獲取數據。 但是,成功的功能數據不會附加到詳細信息表中。 實際上,它顯示為空。 我把警報和檢查。 我可以知道我要去哪里了嗎? 提前致謝。

當我將下面的代碼放在局部視圖中時,它可以正常工作。

<div class="forms">
          @foreach (var content in Model.uploadanddocContent)
          {
              <h1>@content.content_Label</h1>
              switch (content.content_controlType)
              {
                  case "TextBox":
                      if (content.content_fieldType == "varchar")
                      {
                        <input type='text' id="varchar" value=@content.upld_Value onkeypress='return ValidateAlphaNumeric(event);' class='txtBox form-control validate[required]' maxlength='30' placeholder='' />
                      }
                      else if (content.content_fieldType == "datetime")
                      {
                        <input type='text' value=@content.upld_Value  id="varchar" style='width:90%;margin-right:2px;height:38px;' class='form-box form-box-default txtBox form-control datepicker validate[required, custom[date,future[now]]]' placeholder='' />
                      }
                      break;
              }
          }
   </div>
        <input type="button" class="btn btn-primary btn-cons submitGreen" value="Update" onclick='updatemetaData(@Model.upldId)' />
        <input type="button" value="cancel" class="btn btn-primary btn-cons search" onclick='cancel(@Model.upldId)' />

但我想第一種方法起作用。 可能嗎?

您應該附加到表的正文,而不更改其html。

嘗試這個:

$('#details').find('tbody').remove();
$('#details').find('tbody').append(data);

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM