使用for循环javascript将值附加到文本框

时间:2013-09-02 14:00:12

标签: javascript

我正在尝试在检查复选框时循环访问数组时向文本框添加值,但是当前它未定义。

建议可能为什么值是'未定义'

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

    }
});

2 个答案:

答案 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 + '; ';
}