我正在尝试根据需要将额外的输入字段添加到我的 HTML 表单中。这是我的代码:
我的代码
JS
$(document).ready(function(e) {
var i = $('.form-inputs input').size() + 1;
$('.section-topic-field').last().bind('keyup', function(e) {
if($(this).val() != "") {
var html_new_field = '<input name="txtTopicName' + i + '" class="section-topic-field" type="text" onfocus="this.value=\'\'" placeholder="topic name #' + i + '" /><br />';
$('.form-inputs').append($(html_new_field).fadeIn('slow'));
i++;
}
});
});
HTML
<input name="txtSection" type="text" onfocus="this.value=''" placeholder="sections"/><br/>
<div class="form-inputs">
<input name="txtTopicName1" class="section-topic-field" type="text" onfocus="this.value=''" placeholder="topic name #1"/><br />
</div>
<!--<button class="btn btn-mini btn-primary" type="submit">Create</button>-->
</form>
问题
但是,函数 ALWAYS 在第一个输入字段上触发,因此在第一个输入字段中键入,例如,4 个字母,将生成 4 个输入字段。然后,当您在实际的最后一个输入字段(在本例中为第四个)输入内容时,什么也没有发生。所以由于某种原因$('.section-topic-field').last()
总是选择第一个输入字段。
我也尝试了:last
选择器和:last-child
,但结果是一样的
有什么帮助吗?
谢谢!