我是 Javascript 和 html 的初学者。我创建了一个 javascript 标签,将行添加到 Rails 上的 html 表中。在我看来,脚本标签没有被执行。我也没有收到任何错误。
<script type="text/javascript">
//Make a javascript array from a Ruby array
//Use the array to create tables in html with proper value
var myArray = new Array();
<%@array.each_with_index do |name, index|%>
myArray[index] = <%= name[:employee]%>
<%end%>
var arraylen = myArray.length;
//Javascript function to add table
$(function() {
var table = document.getElementById("table");
for (var i = 0; i<arraylen; i++){
var row = table.insertRow(index);
var name = myArray[i]
row.insertCell(0).innerHTML = name.value;
}
})();
</script>
最佳答案
正如您在脚本
中发现的那样,您使用的index
变量未设置为任何值。相反,它旨在使用 i
或者您可以设置所需的任何值。
此外,您还使用 erb
语法将值分配给 javascript 数组,因此每当将值作为 String
分配给 javascript 时,您都应该将其放在字符串引号内。像这样:
myArray[index] = "<%= name[:employee]%>"
因此该值将在您的 JavaScript 数组中被指定为 String
。
关于Javascript 标签未出现在 Rails 上的 html 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41585586/