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 に答える