javascript - 如何根据此记录进行下拉填充
问题描述
我有两个循环:
- 表格循环:填充表格行
- 下拉循环:用 填充下拉列表
typeid.data[i].TypeId
,在最后一个下拉列表中添加一个选择
我的下拉列表没有根据其记录填写,我不明白为什么。
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);
解决方案
您正在尝试访问页面上尚未出现的 DOM 对象。
您正在尝试这样做:
$(".answer" + QuestionId).append(optionhtmls);
但是页面上没有“answer”+QuestionId。它位于您的变量中。
为什么不先构建选项,然后再构建选择标签?
推荐阅读
- excel - 来自日期范围内多个可能性的单元格数据
- 2sxc - 804 的最高版本
- r - 按日期和名称获取最新行
- vue.js - 如何用 v-pagination 替换 v-data-table 分页
- sql - 如何将字符串添加到 SQL 中的正则表达式,然后将其转换为日期?
- android - react-native Android Module 打开 PassWallet
- android - 在 Android Studio 中将 Apk 转换为 64 位的任何解决方案,请举例
- asp.net-mvc - “脚本”部分在 jquery 之前在视图中呈现,抛出错误
- python - 没有 OOP 的自我注释代码的良好风格
- javascript - 我在哪里以及如何获取与 chrome.identity.getAuthToken 一起使用的帐户 ID