jquery - 单击时添加值以形成数组

标签 jquery onclick

我有以下代码可以在click上运行。

<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。

这工作正常,但是我在这里有一个更大的项目,用户可以在整个表单中为“a”选择多个值。没有 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 做的事情?

最佳答案

这是针对您的问题修改后的 jsfiddle 链接。 http://jsfiddle.net/et3r7/12/请检查这是否对您有帮助。我已经将其隐藏到文本中,以便显示结果,您可以将其隐藏。

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

关于jquery - 单击时添加值以形成数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11612639/

相关文章:

javascript - 将 jQuery 回调函数保存在单独的文件中

java - Android onClick 自定义PageAdapter

c# - 单击操作按钮,每次单击此按钮时显示一组字段

jquery - 复杂的 jQuery .hover 工作

java - Linkify的clickable方法阻塞了listview的click方法

javascript - 删除 URL 链接 ie11

android - 列表适配器中的回调方法不起作用

javascript - 从一个页面移动到另一个页面会产生错误(重复?)

c# - 如果按下特定的服务器控件,则在回发时执行 javascript

javascript - DataTables 可滚动表而不是折叠