使用1按钮逐步取消隐藏输入框和文本

时间:2013-07-28 19:53:06

标签: jquery

我有一些动态生成的输入框,并附在一些列表的底部。这些用于自定义用户输入以及所选对象。每按一下按钮,我需要将它扩展1。我对jquery非常新,所以我确定我在某处混淆了语法,但我不确定在哪里。当我点击我的按钮时没有任何反应。我错过了什么?

这是我的jquery:

var addanother;
function increment(){
    addanother++;
    $('input['.addmore'="'+ addanother +'"]').show();   
}

这是我的HTML:

<input type="button" onClick="increment()" value="Add more!"/>
<div>
<div class="addmore1" style="display: none" />
<input id="<?php echo $catkey; ?>_addone_friendly_1" type="text" class="auto" size="9" /><span> - Friendly</span><br />
<input id="<?php echo $catkey; ?>_addone_1" name="[<?php echo $catkey; ?>][]" type="text" class="auto" size="9" /><span> - Exact</span><br />
</div>
<div class="addmore2" style="display: none" />
<input id="<?php echo $catkey; ?>_addone_friendly_2" type="text" class="auto" size="9" /><span> - Friendly</span><br /><br />
<input id="<?php echo $catkey; ?>_addone_2" name="[<?php echo $catkey; ?>][]" type="text" class="auto" size="9" /><span> - Exact</span><br /><br />
</div>
... and so on
</div>

谢谢!

2 个答案:

答案 0 :(得分:1)

要增加某些内容,必须从undefined以外的其他内容开始,然后混合引号:

var addanother = 0;

function increment(){
    addanother++;
    $('.addmore'+addanother).show();   
}

FIDDLE

答案 1 :(得分:0)

解决这个问题的另一种方法是删除序列号,只需将它们全部class="addmore",然后让jquery找到隐藏的第一个并显示它。

function increment() {
  $('.addmore').filter(':hidden').eq(0).show()
}