0

我试图在检查复选框时循环遍历数组时向文本框添加值,但目前它正在变得未定义。

关于为什么这些值是“未定义”的建议

    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 + '; ';

    }
});
4

2 回答 2

2

nameAdminUser已经是一个字符串,所以不要从中.value获取。

你可以更换

 var str = txtBoxValues[i].value;

 var str = txtBoxValues[i];

但是不要使用这个循环,假设你不想要最后一个“;”,你也可以这样做

txtBox.value = txtBoxValues.join(';');
于 2013-09-02T14:03:14.293 回答
1

nameAdminUser似乎是一个字符串,在你的 for 循环中你期望一个对象。如果你只是这样做:

for (var i in txtBoxValues) {
    var str = txtBoxValues[i];
    txtBox.value += str + '; ';
}
于 2013-09-02T14:04:36.230 回答