增加文本字段的名称属性

时间:2015-08-26 22:08:54

标签: jquery html paypal

好的,这是尝试增加文本字段的name属性。

我不知道jquery / js,所以我搜索了一个脚本,found one

它适用于大多数部分,但我必须对其进行一些修改,以便文本框的name属性的数量会增加,即on0on1,{{1} },on2

原因是Paypal's optional variable:on0

这是我到目前为止所做的:jsfiddle demo

但是如果你通过firebug查看文本框,你可以看到名字属性是on3,但是它会跳到没有on0的{​​{1}}。

为什么呢?

我认为我需要以有序的方式保持增量,或者Paypal可能不接受可选变量。他们是需要的。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

这是一个非常简单的修复。在你的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>