首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向jquery.repeater字段添加垂直标签

向jquery.repeater字段添加垂直标签
EN

Stack Overflow用户
提问于 2018-01-10 05:24:39
回答 1查看 1.5K关注 0票数 0

我正在使用jquery.repeater字段,并希望在重复的字段的顶部添加一个标签。

见下面我的最低可行的例子:

代码语言:javascript
复制
$(document).ready(function() {
  'use strict';

  $('.repeater').repeater({
    defaultValues: {
      'textarea-input': 'foo',
      'text-input': 'bar',
      'select-input': 'B',
      'checkbox-input': ['A', 'B'],
      'radio-input': 'B'
    },
    show: function() {
      $(this).slideDown();
    },
    hide: function(deleteElement) {
      if (confirm('Are you sure you want to delete this element?')) {
        $(this).slideUp(deleteElement);
      }
    },
    ready: function(setIndexes) {

    }
  });

  window.outerRepeater = $('.outer-repeater').repeater({
    isFirstItemUndeletable: true,
    defaultValues: {
      'text-input': 'outer-default'
    },
    show: function() {
      console.log('outer show');
      $(this).slideDown();
    },
    hide: function(deleteElement) {
      console.log('outer delete');
      $(this).slideUp(deleteElement);
    },
    repeaters: [{
      isFirstItemUndeletable: true,
      selector: '.inner-repeater',
      defaultValues: {
        'inner-text-input': 'inner-default'
      },
      show: function() {
        console.log('inner show');
        $(this).slideDown();
      },
      hide: function(deleteElement) {
        console.log('inner delete');
        $(this).slideUp(deleteElement);
      }
    }]
  });
});
代码语言:javascript
复制
<form action="echo.php" class="repeater" enctype="multipart/form-data">
  <label>Product Name</label>
  <label>Price</label>
  <label>Date</label>
  <label>Description</label>
  <div data-repeater-list="group-a">
    <div data-repeater-item>
      <input name="untyped-input" value="A" />

      <input type="text" name="text-input" value="A" />

      <input type="date" name="date-input" />

      <textarea name="textarea-input">A</textarea>

    </div>
    <input data-repeater-create type="button" value="Add" />
  </div>
</form>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.repeater/1.2.1/jquery.repeater.js"></script>

我希望我的最终结果如下:

如您所见,标签直接位于重复字段上。

有什么建议我做错了吗?

谢谢你的回复!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-10 05:34:10

您需要对元素进行相同的样式设计。

代码语言:javascript
复制
$(document).ready(function() {
  'use strict';

  $('.repeater').repeater({
    defaultValues: {
      'textarea-input': 'foo',
      'text-input': 'bar',
      'select-input': 'B',
      'checkbox-input': ['A', 'B'],
      'radio-input': 'B'
    },
    show: function() {
      $(this).slideDown();
    },
    hide: function(deleteElement) {
      if (confirm('Are you sure you want to delete this element?')) {
        $(this).slideUp(deleteElement);
      }
    },
    ready: function(setIndexes) {

    }
  });

  window.outerRepeater = $('.outer-repeater').repeater({
    isFirstItemUndeletable: true,
    defaultValues: {
      'text-input': 'outer-default'
    },
    show: function() {
      console.log('outer show');
      $(this).slideDown();
    },
    hide: function(deleteElement) {
      console.log('outer delete');
      $(this).slideUp(deleteElement);
    },
    repeaters: [{
      isFirstItemUndeletable: true,
      selector: '.inner-repeater',
      defaultValues: {
        'inner-text-input': 'inner-default'
      },
      show: function() {
        console.log('inner show');
        $(this).slideDown();
      },
      hide: function(deleteElement) {
        console.log('inner delete');
        $(this).slideUp(deleteElement);
      }
    }]
  });
});
代码语言:javascript
复制
label,input,textarea{display:inline-block; width:150px;}
label{border:solid 2px rgba(0,0,0,0);}
代码语言:javascript
复制
<form action="echo.php" class="repeater" enctype="multipart/form-data">
  <label>Product Name</label>
  <label>Price</label>
  <label>Date</label>
  <label>Description</label>
  <div data-repeater-list="group-a">
    <div data-repeater-item>
      <input name="untyped-input" value="A" />

      <input type="text" name="text-input" value="A" />

      <input type="date" name="date-input" />

      <textarea name="textarea-input">A</textarea>

    </div>
    <input data-repeater-create type="button" value="Add" />
  </div>
</form>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.repeater/1.2.1/jquery.repeater.js"></script>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48180796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档