Javascript 将元素名称分配给多个元素';使用jQuery将名称作为前缀

Javascript 将元素名称分配给多个元素';使用jQuery将名称作为前缀,javascript,jquery,Javascript,Jquery,我有一个允许动态生成内容的网页,我想在创建动态内容名称/发布之前,在所有动态内容名称前面加上隐藏元素的名称 这些动态添加的文本框所在的类在整个页面中共享,因此无法轻松用于识别 我不能让这个工作,我需要检查他们是否有前缀,如果他们没有,添加前缀 小提琴: <input type=hidden name="main[xyz]" /> <input type=button name="addRow" /> <table>

我有一个允许动态生成内容的网页,我想在创建动态内容名称/发布之前,在所有动态内容名称前面加上隐藏元素的名称

这些动态添加的文本框所在的类在整个页面中共享,因此无法轻松用于识别

我不能让这个工作,我需要检查他们是否有前缀,如果他们没有,添加前缀

小提琴:

<input type=hidden name="main[xyz]" />
            <input type=button name="addRow" />
        <table>
         <tr>
          <td><input type=text name="tb1r1" /></td>
          <td><input type=text name="tb2r1" /></td>
         </tr>    
         <tr>
          <td><input type=text name="tb1r2" /></td>
          <td><input type=text name="tb2r2" /></td>
         </tr>   
        </table>

jQuery

$(// can't use class).attr(); // do I need to use this method for each <td> ?
$(//无法使用类).attr();//我是否需要为每一个应用程序使用此方法?
当前生成的标记:

<input type=hidden name="main[xyz]" />
            <input type=button name="addRow" />
        <table>
         <tr>
          <td><input type=text name="tb1r1" /></td>
          <td><input type=text name="tb2r1" /></td>
         </tr>    
         <tr>
          <td><input type=text name="tb1r2" /></td>
          <td><input type=text name="tb2r2" /></td>
         </tr>   
        </table>

理想生成的标记

    <input type=hidden name="main[xyz]" />
        <input type=button name="addRow" />
    <table>
     <tr>
      <td><input type=text name="main[xyz]tb1r1" /></td>
      <td><input type=text name="main[xyz]tb2r1" /></td>
     </tr>    
     <tr>
      <td><input type=text name="main[xyz]tb1r2" /></td>
      <td><input type=text name="main[xyz]tb2r2" /></td>
     </tr>   
    </table>

试试这个

 $("td input").each(function(){
     $(this).attr("name",$("input:hidden").attr("name")+$(this).attr("name"))
 });
使用以下命令:

$("td input").each(function(){
$(this).attr("name",$("input:hidden").attr("name")+$(this).attr("name" ));
});
说明:

<input type=hidden name="main[xyz]" />
            <input type=button name="addRow" />
        <table>
         <tr>
          <td><input type=text name="tb1r1" /></td>
          <td><input type=text name="tb2r1" /></td>
         </tr>    
         <tr>
          <td><input type=text name="tb1r2" /></td>
          <td><input type=text name="tb2r2" /></td>
         </tr>   
        </table>
第一行遍历
元素中的所有
元素


第二行包含
名称
,使用jQuery时不太热,您能解释一下它在做什么吗?看看它,这不是一个后缀吗?我们得到了TDs中所有输入的列表,并为它们设置了新的名称属性。是的,看到我的错误,谢谢。当我让它工作时,会给出一个正确的标记。:)在此处发布JSFIDLE链接不确定您试图通过对所有输入使用相同的名称来实现什么。:)@Maverick不确定你的意思,从我所看到的,所有的名字都不一样。@Maverick抱歉说得不清楚,这只是一个大型ASP项目的渲染html示例,我试图使所有输入的前缀都相同,这样当我保存回模型时,他们就知道列表项属于哪里:)