如何解决AngularJS将js变量读入带有额外字符的select标签
我正在处理的页面的模态上有一个select标签,并且我正在使用AngularJS根据页面内容的选项填充它。当您在编辑模式下打开此模式时,它将使用您正在使用数据库编辑的组件中的信息填充字段。我正在尝试添加此下拉菜单,即使edittask的ParentId 匹配我的布尔检查(根据console.log),当我加载页面并编辑项目时,也会填充选择菜单带有一个空白项目(已选择)。然后,当我检查创建的新选项时,它说它的值是“?string:78196-78013?”,而不是原来的“ 78196-78013”部分。我已经附上了屏幕截图,这是select元素的HTML以及填充它的javascript:
HTML:
<select id="childOf" name="childOf" ng-model="$ctrl.childOf">
<option value="">Select one...</option>
</select>
JS:
vm.openEdit = function (edittask) {
vm.isChild = edittask.ParentId != vm.parent.selectedSprintId;
var tasks = document.getElementsByClassName("input-group overflow removediv itemdiv tasktitle");
for (var i = 0; i < tasks.length; i++) {
var taskOpt = document.createElement("OPTION");
taskOpt.textContent = tasks[i].children[0].children[0].textContent;
taskOpt.value = tasks[i].id;
taskOpt.id = tasks[i].id + "opt";
var ind;
for (var j = 0; j < tasks[i].id.length; j++) {
if (tasks[i].id[j] == '-') {
ind = j + 1;
break;
}
}
if (tasks[i].id.substring(ind) == vm.parent.selectedSprintId && !document.getElementById(tasks[i].id + "opt")) {
$("#childOf").append(taskOpt);
}
if (edittask.ParentId == tasks[i].id.substring(0,ind - 1) && vm.isChild) {
vm.childOf = tasks[i].id;
console.log(typeof vm.childOf); //this outputs "string" as it should
console.log(vm.childOf); //this outputs "78196-78013" as it should
}
}
//...
}
问题的屏幕截图:
任何想法都值得赞赏。谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。