<% @level1.each do |row1| %>
<table id="tbl_main1" name="tbl_main1">
<tr>
**<td><a href="javascript:toggle_visibility('tbl1','lnk1');">**
**<div align="right" id="lnk1" name="lnk1" width="2%">[+]</div></a></td>**
</tr>
<tr>
**<table id="tbl1" name="tbl1">**
<tr><td height="0.5" bgcolor="#EEEEEE"></td></tr>
</table>
</tr>
</table>
<% end %>
我想在Ruby上使用循环在运行时创建多个表。但我想动态更改'link1'和'tbl1'的id,以便每个表都有一个唯一的'tbl'名称和'lnk1'名称。
答案 0 :(得分:3)
您可以使用row1的某些元素来执行此操作。 下面的伪代码:
<% @level1.each do |row1| %>
<table id="tbl_main1#{row1.id}" name="tbl_main1">
<tr>
**<td><a href="javascript:toggle_visibility('tbl1#{row1.id}','lnk1#{row1.id}');">**
**<div align="right" id="lnk1#{row1.id}" name="lnk1" width="2%">[+]</div></a></td>**
</tr>
<tr>
**<table id="tbl1#{row1.id}" name="tbl1">**
<tr><td height="0.5" bgcolor="#EEEEEE"></td></tr>
</table>
</tr>
</table>
<% end %>
答案 1 :(得分:2)
<% @level1.each_with_index do |row1, index| %>
<table id= <%= "tbl_main#{index}" %> name="tbl_main1">
会做你想要的事情。
答案 2 :(得分:0)
正如上面的评论所述,您应该更改代码来执行此操作。当您只需更改代码以立即满足需求时,就没有理由依赖客户端脚本或代码修改。
所以,而不是使用
id="lnk1"
你应该使用
id=someDynamicVariableInYourCode
此外,如果你能解释为什么你需要这个以及你想要用它来实现什么,那么理解你想要的东西就会容易得多。
答案 3 :(得分:0)
确切的语法是这样的:
<td><a href="javascript:toggle_visibility('<%= "tbl1#{index}" %>', '<%= "lnk1#{index}" %>');>
......
......
div align="right" id=<%= "lnk1#{index}" %> name="lnk1" width="2%">[+]</div></a></td>
......
......
<table id=<%= "tbl1#{index}" %>