首页 > 解决方案 > 如何根据此记录进行下拉填充

问题描述

我有两个循环:

我的下拉列表没有根据其记录填写,我不明白为什么。

var selectinnerhtml = "<span><select id = \"answer" + QuestionId + "\" name = \"answer" + QuestionId + "\" class=\"answer" + QuestionId + " form-control input-small\" > </select></span>";
$.ajax({
  type: "GET",
  dataType: 'json',
  contentType: 'application/json; charset=utf-8',
  url: '/MYaPI/EmployeeDetails/' + data[i].TypeId,
  success: function(datasa) {
    var optionhtmls = '<option value="' +
      0 + '">' + "--Select--" + '</option>';

    $(".answer" + QuestionId).append(optionhtmls);

    $.each(datasa, function(j) {
      var optionhtmls = '<option value="' +
        datasa[j].Oid + '">' + datasa[j].Title + '</option>';

      $(".answer" + QuestionId).append(optionhtmls);
    });
  }
});
var newRows2select = "<tr class='rows'><a href = '' >" +
  " <td QuestionCategoryTitle = " + selectdata.QuestionCategoryTitle + " QuestionHeader = " + selectdata.QuestionHeader + " ContentTypeId=" + selectdata.FkSource + " QuestionTypeId=" + selectdata.FkQuestionType + "   QuestionOID=" + selectdata.QuestionOid + " CategoryOID=" + selectdata.FkQuestionCategory + "  class=\"question-block\"><small style=\"color:slateblue;font-weight: bolder;display:none\">CATEGORY: " + selectdata.QuestionCategoryTitle + ",</small>" +
  "  <i  class=\"deleteRow fas fa-trash float-right\"></i> " +
  "<p> " + selectdata.QuestionHeader + "</p>" + selectinnerhtml + " </td></a> \"</tr>";
$("#table23").append(newRows2select);

桌子的图像

标签: javascriptjqueryajax

解决方案


您正在尝试访问页面上尚未出现的 DOM 对象。

您正在尝试这样做:

$(".answer" + QuestionId).append(optionhtmls);

但是页面上没有“answer”+QuestionId。它位于您的变量中。

为什么不先构建选项,然后再构建选择标签?


推荐阅读