好的,这是尝试增加文本字段的名称属性。
我不知道 jquery/js,所以我用 google 搜索了一个脚本,然后 found one .
它在大多数情况下都有效,但我不得不对其进行一些修改,以便文本框的名称属性会增加其编号,即 on0
、on1
、on2
、on3
等
原因是 Paypal's optional variable : on0
这是我目前所拥有的:jsfiddle demo
但是如果你通过 firebug 查看文本框,你可以看到 first name 属性是 on0
,但随后它跳转到 on2
而没有 on1
。
为什么?
我认为我需要以有序的方式保持增量,否则 Paypal 可能不接受可选变量。他们是需要的。
有什么建议吗?
最佳答案
这是一个非常简单的修复。在您的 box_html 变量(第 4 行)中,我将值减为 1。
jQuery(document).ready(function($) {
$('.my-form .add-box').click(function() {
var n = $('.text-box').length + 1;
var box_html = $('<p class="text-box"><label for="box' + n + '">Box <span class="box-number">' + n + '</span></label> <input type="text" name="on' + (n - 1) + '" value="" id="box' + n + '" /> <a href="#" class="remove-box">Remove</a></p>');
box_html.hide();
$('.my-form p.text-box:last').after(box_html);
box_html.fadeIn('slow');
return false;
});
$('.my-form').on('click', '.remove-box', function() {
$(this).parent().css('background-color', '#FF6C6C');
$(this).parent().fadeOut("slow", function() {
$(this).remove();
$('.box-number').each(function(index) {
$(this).text(index + 1);
});
});
return false;
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="my-form">
<form role="form" method="post">
<p class="text-box">
<label for="box1">Box <span class="box-number">1</span>
</label>
<input type="text" name="on0" value="" id="box1" />
<a class="add-box" href="#">Add More</a>
</p>
<p>
<input type="submit" value="Submit" />
</p>
</form>
</div>
关于jquery - 文本字段的递增名称属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32237515/