Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态更改HTML表的ID **** ****_Javascript_Jquery_Ruby On Rails_Ruby_Html - Fatal编程技术网

Javascript 动态更改HTML表的ID **** ****

Javascript 动态更改HTML表的ID **** ****,javascript,jquery,ruby-on-rails,ruby,html,Javascript,Jquery,Ruby On Rails,Ruby,Html,我想在运行时使用Ruby中的循环创建多个表。但我想动态更改'link1'和'tbl1'的id,以便每个表都有一个唯一的'tbl'名称和'lnk1'名称 您可以使用第1行的某些元素来执行此操作。 伪代码如下: <% @level1.each do |row1| %> <table id="tbl_main1" name="tbl_main1"> <tr> **<td><a href="javascript:toggle_

我想在运行时使用Ruby中的循环创建多个表。但我想动态更改'link1'和'tbl1'的id,以便每个表都有一个唯一的'tbl'名称和'lnk1'名称

您可以使用第1行的某些元素来执行此操作。 伪代码如下:

<% @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 %>

****      
****

您可以使用第1行的某些元素来执行此操作。 伪代码如下:

<% @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 %>

****      
****

如上面的评论所述,您应该更改代码以执行此操作。当您可以简单地更改代码以立即满足需要时,没有理由依赖客户端脚本或代码修改

因此,与其使用

<% @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 %>
你应该使用

id="lnk1"

此外,如果您可以解释为什么需要这个以及您试图用它实现什么,那么理解您想要什么就容易多了。

如上面的评论所述,您应该更改代码来实现这一点。当您可以简单地更改代码以立即满足需要时,没有理由依赖客户端脚本或代码修改

id=someDynamicVariableInYourCode
因此,与其使用

<% @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 %>
你应该使用

id="lnk1"
此外,如果你能解释为什么需要这个以及你想用它实现什么,那么理解你想要什么就容易多了。


id=someDynamicVariableInYourCode
我想我会做你想做的。



我想我会做你想做的。

确切的语法如下:

<% @level1.each_with_index do |row1, index| %>
  <table id= <%= "tbl_main#{index}" %> name="tbl_main1">

...... 
......

确切的语法如下所示:

<% @level1.each_with_index do |row1, index| %>
  <table id= <%= "tbl_main#{index}" %> name="tbl_main1">

...... 
......


那么你应该让你的Ruby代码做到这一点。没有理由在JavaScript中动态地执行此操作。那么您应该让您的Ruby代码执行此操作。没有理由在JavaScript中动态执行此操作。我认为您错误地将
table id=“tbl_main1”
保留在循环中不变。@Blazemonger:我不想更改tbl_main1中的任何内容。tbl_main中有一个超链接(+),它展开另一个表(tbl1),该表位于tbl_main中的一行中。我想动态更改超链接和tbl1的id。我可以附加从ruby代码中获得的“row1”的值。但我不确定将ruby变量附加到html id的语法。在一个html文档中不能(当然,不应该)有两个具有相同id的元素。任何JavaScript或内部锚都会找到第一个,而不会寻找第二个。这些id在发送到浏览器之前应该是唯一的。不,我的意思是我可以将row1值附加到lnk和tabl1…这会使它们彼此不同。我认为你错误地将
table id=“tbl_main1”
保留在循环中不变。@Blazemonger:我不想更改tbl_main1中的任何内容。tbl_main中有一个超链接(+),它展开另一个表(tbl1),该表位于tbl_main中的一行中。我想动态更改超链接和tbl1的id。我可以附加从ruby代码中获得的“row1”的值。但我不确定将ruby变量附加到html id的语法。在一个html文档中不能(当然,不应该)有两个具有相同id的元素。任何JavaScript或内部锚都会找到第一个,而不会寻找第二个。这些id在发送到浏览器之前应该是唯一的。不,我的意思是我可以将row1值附加到lnk和tabl1…这将使它们的id彼此不同。我想学习如何将我的ruby变量附加到html id。我不知道它的语法。我想学习如何将我的ruby变量附加到htmlid。我不知道它的语法。它仍然没有将ruby代码附加到id。我认为这种语法不正确。对不起,出于使用erb的习惯,我现在通常使用haml。我认为编辑应该修复它。它确实改变了表中的id和超链接。但是当我将其传递给javascript函数时,它不会改变参数,您需要了解字符串插值-一个好的开始是它仍然不会将ruby代码附加到id。我认为这种语法不正确。对不起,出于使用erb的习惯,我现在通常使用haml。我认为编辑应该修复它。它确实改变了表中的id和超链接。但是当我将它传递给javascript函数时,如果它没有改变参数,那么您需要了解字符串插值——一个好的起点是