我正在尝试在检查复选框时循环访问数组时向文本框添加值,但是当前它未定义。
建议可能为什么值是'未定义'
var txtBoxValues = [];
$(document).on("click", "input[name=chkRelatedTopics]", function () {
var nameAdminUser = $(this).val();
var txtBox = document.getElementById("txtTraningTopics");
txtBox.value = '';
txtBoxValues.push(nameAdminUser);
for (var i in txtBoxValues) {
var str = txtBoxValues[i].value;
txtBox.value += str + '; ';
}
});
答案 0 :(得分:2)
nameAdminUser
已经是一个字符串,所以不要从中取.value
。
你可以替换
var str = txtBoxValues[i].value;
带
var str = txtBoxValues[i];
但不是使用这个循环,而是假设你不想,就像我想的那样,最后一个“;”,你也可以这样做
txtBox.value = txtBoxValues.join(';');
答案 1 :(得分:1)
nameAdminUser
似乎是一个字符串,在你的for循环中你期望一个对象。如果您只是这样做会怎么样:
for (var i in txtBoxValues) {
var str = txtBoxValues[i];
txtBox.value += str + '; ';
}