当点击一些按钮时激活一些隐藏的输入
问题描述:
我有很多按钮和一些隐藏的字段...我需要使用一些按钮来设置它们的值la高级搜索设置...当点击一些按钮时激活一些隐藏的输入
<input class="toggleinput" type="hidden" name="value1">
<input class="toggleinput" type="hidden" name="value2">
<input class="toggleinput" type="hidden" name="value3">
<input class="toggleinput" type="hidden" name="value4">
<input class="toggleinput" type="hidden" name="value5">
<input class="toggleinput" type="hidden" name="value6">
<input class="toggleinput" type="hidden" name="value7">
<ul>
<li><button class="toggle" name="value1" value="yes">Button 1</button></li>
<li><button class="toggle" name="value2" value="1">Button 2</button></li>
<li><button class="toggle" name="value3" value="indeed">Button 3</button></li>
<li><button class="toggle" name="value4" value="whoa">Button 4</button></li>
<li><button class="toggle" name="value5" value="34">Button 5</button></li>
<li><button class="toggle" name="value6" value="word_up">Button 6</button></li>
<li><button class="toggle" name="value7" value="no">Button 7</button></li>
</ul>
我知道我可以去通过,并创建一些jQuery的/ js的每一个这些设置的值,但我想知道是否有一种方法,我可以只使用相同的jQuery设置每一个在点击?或者,这些按钮基本上会切换,所以我需要将它们关闭。
因此,澄清,而不是有7个人的jquery电话,我可以只为所有人?这是否意味着一个循环?这甚至是处理它的理想方式吗?
答
你可以做这样的事情
$('button.toggle').click(function() {
var value = this.value;
$('input.toggleinput[name="' + this.name + '"]').val(function() {
return this.value.length ? '' : value;
})
})
演示:Fiddle
像[这](http://jsfiddle.net/arunpjohny/aptmuydn/2/)?输入类型被改变,以便我们可以看到分配的值 – 2014-09-06 04:38:39
+1代码清洁@ArunPJohny – Atieh 2014-09-06 04:42:20
非常感谢@ArunPJohny。你能解释一下这里发生了什么:'return this.value.length? '':价值;'?除了那部分,我可以关注其他一切。即为什么'长度'和冒号是什么? – CRAIG 2014-09-06 04:49:24