增加价值,形成上点击阵列(add value to form array on click)

2019-09-20 01:27发布

我有下面的代码工作的onclick。

<form action="" name="testform" method="post" id="testform">
<input type="hidden" value="" name="a">
<input type="hidden" value="" name="b">
<input type="hidden" value="" name="c">
<select>
    <option value=""></option>
    <option value="" onclick="document.testform.a.value='12'; document.testform.b.value='111'; document.testform.c.value='123'">1</option>
    <option value="" onclick="document.testform.a.value='21'; document.testform.b.value='222'; document.testform.c.value='232'">2</option>
    <option value="" onclick="document.testform.a.value='32'; document.testform.b.value='333'; document.testform.c.value='233'">3</option>
    <option value="" onclick="document.testform.a.value='43'; document.testform.b.value='444'; document.testform.c.value='344'">4</option>
    <option value="" onclick="document.testform.a.value='54'; document.testform.b.value='555'; document.testform.c.value='345'">5</option>
</select>     

当您选择1个A,B的隐藏字段,C得到1的值。

这工作得很好,但是我心里有一个大项目在这里,用户可以对“一个”整个形式选择多个值。 如果没有的onclick我能得到这个工作也如

<input type="hidden" name="a[]" value="1">

但是,当我做

<form action="" name="testform" method="post" id="testform">
<input type="hidden" value="" name="a[]">
<input type="hidden" value="" name="b[]">
<input type="hidden" value="" name="c[]">
<select>
    <option value=""></option>
    <option value="" onclick="document.testform.a[].value='12'; document.testform.b[].value='111'; document.testform.c[].value='123'">1</option>
    <option value="" onclick="document.testform.a[].value='21'; document.testform.b[].value='222'; document.testform.c[].value='232'">2</option>
    <option value="" onclick="document.testform.a[].value='32'; document.testform.b[].value='333'; document.testform.c[].value='233'">3</option>
    <option value="" onclick="document.testform.a[].value='43'; document.testform.b[].value='444'; document.testform.c[].value='344'">4</option>
    <option value="" onclick="document.testform.a[].value='54'; document.testform.b[].value='555'; document.testform.c[].value='345'">5</option>
</select>     

我什么也没有插入我的隐藏价值。

为什么是这样?

有没有做什么,我试图用jQuery做的更好的办法?

Answer 1:

下面是修改的jsfiddle链接,你的问题。 http://jsfiddle.net/et3r7/12/请检查如果这能帮助你。 我为了显示结果,你可以让他们做隐藏隐藏文本。

我已经清理你的代码点点。 删除了所有的onClick代码。



Answer 2:

我不认为.value是一个数组的一个属性。 (其实,我是一个DERP,它可能是一个数组元素的属性-我会看它)我也想看看推()的阵列的方法添加元素。

还有,你可以处理这个任务一对夫妇的其他方式。 随着JS,你可以抽象这一点,并作出单一的功能,在每次点击正在做的工作,这将使你的代码更简洁。

这很容易,如果jQuery的做了,但是我会被评估的功能,这一点是否值得额外下载(jQuery是32KB微细化以及压缩)。



文章来源: add value to form array on click