在将表单名称更改为数组之前,我有一个以前工作的函数。当您为一个单选按钮检查是或否时,autoselect()为另一组单选按钮选择是或否。我遇到的问题是javascript不允许我按名称访问元素,因为有两个具有相同名称的元素。这是我的代码:
<script language="javascript" type="text/javascript">
function autoselect(selectedOption, updateCompleted)
{
if(selectedOption.value=="No")
updateCompleted[0].checked=true;
else
updateCompleted[1].checked=true;
}
</script>
<input type="radio" onclick="autoselect(this,document.form<?php echo $i; ?>.elements['data[<?= $i; ?>][completed]']);" name="data[<?= $i ?>][needed]" value="Yes">Yes
<input type="radio" onclick="autoselect(this,document.form<?php echo $i; ?>.elements['data[<?= $i; ?>][completed]']);" name="data[<?= $i ?>][needed]" value="No">No
...
<input type="radio" id="completed<?php echo $i."1"; ?>" name="data[<?= $i ?>][completed]" value="Yes"><span id="completed<?php echo $i."3"; ?>">Yes</span>
<input type="radio" id="completed<?php echo $i."2"; ?>" name="data[<?= $i ?>][completed]" value="No"><span id="completed<?php echo $i."4"; ?>">No</span>
每个页面上有多个具有相同元素的表单,并且使用$ i索引递增它们的名称。
答案 0 :(得分:1)
您可以使用jQuery返回项目数组,然后使用索引
访问所需项目var el1=$('input[name="elementName"]')[0];
var el2=$('input[name="elementName"]')[1];
等