使用JQuery从模态(bootstrap)传递输入数组

xsuvu9jc  于 2023-04-20  发布在  jQuery
关注(0)|答案(3)|浏览(199)

我有一个表单,我想用一个模态对话框来填充。它使用输入数组,但由于这些输入在标签之外< form>< /form>,因此不会发布。
下面是modal代码:

<div class="modal fade" id="Modal" tabindex="-1" role="dialog" aria-labelledby="ModalLabel" aria-hidden="true">
   <div class="modal-dialog modal-lg" role="document">
      <div class="modal-content">
         <div class="modal-body">
            <div class="form-row field" id="auteur1">
               <div class="form-group col-md-5" style="margin-bottom:0">
                  <input autocomplete="off" class="form-control auto_c" name="name_add[]" type="text" />
               </div>
               <div class="form-group col-md-4" style="margin-bottom:0">
                  <input type="text" class="form-control" name="firstname_add[]" />
               </div>
               <input type="hidden" name="id_add[]" value="">
            </div>
         </div>
         <div class="modal-footer">
            <button type="button" class="save btn btn-qvq">Submit</button>
         </div>
      </div>
   </div>
</div>

可以有很多行,这就是为什么使用数组。
我想填充位于标签中的name[]、firstname[]和id[]数组< form>< /form>:

<input type="hidden" id="name" name="name[]" value="">
<input type="hidden" id="firstname" name="firstname[]" value="">
<input type="hidden" id="id" name="id[]" value="">

我猜它souhld是类似的东西,但它不工作。

$(function() {
   $('.save').on('click', function() {
      $.each($("input[name='name_add[]']"), function(idx, value) {
         $("input[name='name[]']").eq(idx).val(value);
      });
   }
}

任何帮助都将不胜感激。谢谢。

编辑

第74章我试过了:

$('.save').on('click', function(){
   $.each($('input[name="name_add[]"]'), function(idx, v) {
      $('input[name="name[]"]').eq(idx).val(v.value)
   })
})

name[]现在被填充,但如果有多个name_add[]输入,则只填充第一个值

9jyewag0

9jyewag01#

测试此代码:

$('.save').on('click', function(){
    $.each($('input[name="name_add[]"]'), function(idx, v) {
        $('input[name="name[]"]').eq(idx).val(v.value)
    })
})
14ifxucb

14ifxucb2#

嗨,我不知道到底是什么问题,但如果你想使用模态字段添加多个字段,你可以使用这样的东西:

<div class="modal fade" id="Modal" tabindex="-1" role="dialog" aria-labelledby="ModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
    <div class="modal-content">
        <div class="modal-body">
            <div class="form-row field" id="auteur1">
                <div class="form-group col-md-5" style="margin-bottom:0">
                    <input autocomplete="off" class="form-control auto_c" name="name_add[]" type="text"/>
                </div>
                <div class="form-group col-md-4" style="margin-bottom:0">
                    <input type="text" class="form-control" name="firstname_add[]"/>
                </div>
                <input type="hidden" name="id_add[]" value="">
            </div>
        </div>
        <div class="modal-footer">
            <button type="button" class="save btn btn-primary" onclick="addItem()">Submit</button>
        </div>
    </div>
</div>
<script>
function addItem() {
    var name = $('#Modal input[name="name_add[]"]').val()
    var firstname = $('#Modal input[name="firstname_add[]"]').val()
    $('form').append($('<input type="hidden" id="name" name="name[]" value="">').val(name))
    $('form').append($('<input type="hidden" id="firstname" name="firstname[]" value="">').val(firstname))
    $('form').append($('<input type="hidden" id="id" name="id[]" value="">'))
}

您必须从表单中删除隐藏字段,您可以使用函数javascript追加它们。如果我们添加两项:
1.姓名:jhon,firstname:吊杆
1.姓名:jhon 2,名字:steeve2
我们可以在提交表单后使用

  1. echo $_REQUEST[name][0].$_REQUEST[firstname][0] ==〉jhon steeve
  2. echo $_REQUEST[name][1].$_REQUEST[firstname][1] ==〉jhon2 steeve2
    如果问题已解决,请告诉我具体问题是什么
dgiusagp

dgiusagp3#

如果我们从modal box提交,我们只得到第一个数组值,否则相同的代码工作正常。当我们从modal box发送数组时,我们只接收第一个数组值。下面是我们的代码:
在表单页面中:

<div class="form-group">
    <label class="col-sm-4 control-label">Label-1</label>
      <div class="col-sm-4">
         <input type="number" name="abc[]" class="form-control">
       </div>
      <div class="col-sm-3">
         <input type="number" name="xyz[]" class="form-control">
      </div>
      <div class="col-sm-1">
        <input type="button" onclick="floor();" class="btn btn-default" value="+" />        

       </div>
  </div>
<table>
      <tbody id="atbody"></tbody>
  </table>

我们在哪里接收数据:

print_r($_REQUEST['abc']);
        print_r($_POST['xyz']);
        die;

输出:Array ( [0] => 2 ) Array ( [0] => 3 )

相关问题