php var到javascript数组

时间:2017-02-20 21:35:16

标签: javascript php

我正在尝试使用php和javascript填充数组。 Onclick,我将一个php变量传递给一个名为addToGroup的函数。此函数是一个java脚本函数,它将传递的var添加到javascript数组中。查看建议时,您可以看到数组在点击时填充,但是当我检查它时,大小为零。我究竟做错了什么?我将附上我执行此操作的部分代码。如果您需要更多信息,我可以提供更多代码。如果你发现任何错误,请告诉我!非常感谢你

        echo "<br>";
        echo '<form>';
        echo '<input type="text" name="user" placeholder="enter name" />';
        echo '<button type="button" onclick="addToGroup(\'' . $groupName . '\', this.form.user.value)" />Add</button>';
        echo '<button type="button" onclick="removeFromGroup(\'' . $groupName . '\', this.form.user.value)" />Remove</button>';
        echo '</form>';
        echo "<br><br>";
    }
    echo '<form>';
    echo '<button type="button" onclick="submitChanges()" />Log</button>';
    echo '</form>';

} else {
    echo 'authentication failed.';
    exit;
}
?>

<script>
var groupChangesAdd = new Array();
var groupChangesRemove = new Array();

function addToGroup(groupName, user) {
        if (groupChangesAdd[groupName] === undefined) {
        groupChangesAdd[groupName] = user;
        console.debug(user);
        $('#groupChangesPlus'+groupName).html('+ ' + user + '<br>');
    } else {
        groupChangesAdd[groupName] = groupChangesAdd[groupName] + ', ' + user;
                           $('#groupChangesPlus'+groupName).html($('#groupChangesPlus'+groupName).htm      l() + '+ ' + user + '<br>');
    }
    console.debug(groupChangesAdd);
}

1 个答案:

答案 0 :(得分:0)

所以你使用你的数组作为关联数组(或对象),因此“。length”不会对它们起作用。如果您想查看“groupChangesAdd”中是否包含某些内容,您可以将其记录到开发人员控制台,并在那里进行检查,或者您可以使用:

var groups = Object.getOwnPropertyNames(groupChangesAdd);
console.log(groups.length - 1);

有趣的是,“长度”确实作为Object的属性存在,它总是返回0.这就是我从groups.length中删除1的原因。

希望这有帮助!