1

我有几个动态生成的输入框,它们附加在一些列表的底部。这些用于自定义用户输入,以及选定的对象。我需要在每次按下按钮时将其扩展 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>

谢谢!

4

2 回答 2

1

要增加某些内容,它必须以 以外的内容开头undefined,并且您混合了引号:

var addanother = 0;

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

小提琴

于 2013-07-28T19:59:22.720 回答
0

解决这个问题的另一种方法是摆脱序列号,只需制作所有序列号,class="addmore"然后让 jquery 找到隐藏的第一个并显示它。

function increment() {
  $('.addmore').filter(':hidden').eq(0).show()
}
于 2013-07-28T20:04:01.710 回答