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示例,我试图使所有输入的前缀都相同,这样当我保存回模型时,他们就知道列表项属于哪里:)