Jquery 转发器解析 jquery 中的值

Jquery Repeater parse values in jquery

我在 html/js 中创建了一个转发器。借助这个library。我们希望在用户单击按钮时解析数据。 (还没有。)

但是我们如何从像 ingredienten[0][wat] 这样的元素中读取数据 因为可以有很多成分en[n][wat]

这是我们的代码,可以更好地了解问题:

<div id="tes0t" data-repeater-list="ingredienten">
    <div class="ingredientenlijst" data-repeater-item="">
      <input type="text" name="ingredienten[0][hoeveel]" placeholder="Hoeveel">
      <input type="text" name="ingredienten[0][wat]" placeholder="Van wat">


      <input data-repeater-delete="" type="button" value="Delete">
    </div>

  <div class="ingredientenlijst" data-repeater-item="" style="">
      <input type="text" name="ingredienten[1][hoeveel]" placeholder="Hoeveel">
      <input type="text" name="ingredienten[1][wat]" placeholder="Van wat">


      <input data-repeater-delete="" type="button" value="Delete">
    </div><div class="ingredientenlijst" data-repeater-item="" style="">
      <input type="text" name="ingredienten[2][hoeveel]" placeholder="Hoeveel">
      <input type="text" name="ingredienten[2][wat]" placeholder="Van wat">


      <input data-repeater-delete="" type="button" value="Delete">
    </div><div class="ingredientenlijst" data-repeater-item="" style="">
      <input type="text" name="ingredienten[3][hoeveel]" placeholder="Hoeveel">
      <input type="text" name="ingredienten[3][wat]" placeholder="Van wat">


      <input data-repeater-delete="" type="button" value="Delete">
    </div></div>

我们尝试用 jquery 阅读它。但我认为我们遗漏了一些东西。

由于您使用 jQuery,您可以使用它的 'Attribute Contains Selector'-功能 (https://api.jquery.com/attribute-contains-selector/):

jQuery('input[name*="wat"]').each(function(e)
{
    console.log($(this).val());
});

这将遍历名称中包含 'wat' 的所有输入元素,并在控制台中输出值。

或者,如果您将一些 类 添加到输入字段(class="hoeveel"class="wat"),您可以遍历 .ingredientenlijst 并像这样输出它们的值:

jQuery('.ingredientenlijst').each(function(e)
{
    console.log($(this).find('.hoeveel').val() + ' van ' + $(this).find('.wat').val());
});

如本 JS Fiddle 一样,使用 hoeveel 占位符获取输入

var itemsHoeveel = $('input').filter("[placeholder='Hoeveel']");

对于 Van wat

的输入
var itemsWat = $('input').filter("[placeholder='Van wat']");

var itemsHoeveel = $('input').filter("[placeholder='Hoeveel']");
var itemsWat = $('input').filter("[placeholder='Van wat']");
itemsHoeveel.each(function() {
  $('#result').append($(this).attr('name') + '<br>');
});

$('#result').append('<hr>');
itemsWat.each(function() {
  $('#result').append($(this).attr('name') + '<br>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div id="tes0t" data-repeater-list="ingredienten">
  <div class="ingredientenlijst" data-repeater-item="">
    <input type="text" name="ingredienten[0][hoeveel]" placeholder="Hoeveel">
    <input type="text" name="ingredienten[0][wat]" placeholder="Van wat">
    <input data-repeater-delete="" type="button" value="Delete">
  </div>
  <div class="ingredientenlijst" data-repeater-item="" style="">
    <input type="text" name="ingredienten[1][hoeveel]" placeholder="Hoeveel">
    <input type="text" name="ingredienten[1][wat]" placeholder="Van wat">
    <input data-repeater-delete="" type="button" value="Delete">
  </div>
  <div class="ingredientenlijst" data-repeater-item="" style="">
    <input type="text" name="ingredienten[2][hoeveel]" placeholder="Hoeveel">
    <input type="text" name="ingredienten[2][wat]" placeholder="Van wat">
    <input data-repeater-delete="" type="button" value="Delete">
  </div>
  <div class="ingredientenlijst" data-repeater-item="" style="">
    <input type="text" name="ingredienten[3][hoeveel]" placeholder="Hoeveel">
    <input type="text" name="ingredienten[3][wat]" placeholder="Van wat">
    <input data-repeater-delete="" type="button" value="Delete">
  </div>
</div>
<hr>
<div id="result"></div>