【问题标题】:how to get another value with ajax from foreach table如何使用 ajax 从 foreach 表中获取另一个值
【发布时间】:2018-02-14 06:54:26
【问题描述】:

我有来自 foreach 的表,在这个表中我使用 ajax (id="detail") 创建提交,但是为什么当我提交时我只得到第一行,当我点击第二行值时,我得到第一行值而不是第二行行值?

<form action="<?php echo base_url() ?>index.php/stock_opname/proses_detail" method="post">
        <table class="table table-striped">
            <thead>
            <tr>
                <th>No</th>
                <th>SO No</th>
                <th>Opname Date</th>
                <th>Warehouse</th>
                <th>Type</th>
                <th>Approve</th>
                <th>Close period</th>
                <th>Detail</th>
            </tr>
            </thead>
            <tbody>
            <?php $no=1; foreach ($show as $key) { ?>
            <tr>
                    <td><?php echo $no ?></td>
                    <td><input type="text" id="sono" value="<?php echo $key->sono ?>"></td>
                    <td><input type="text" id="opnamedate" value="<?php echo $key->opnamedate ?>"></td>
                    <td><input type="text" id="warehousecode" value="<?php echo $key->warehousecode ?>"></td>
                    <td><input type="text" id="stocktypeid" value="<?php echo $key->stocktypeid ?>"></td>
                    <td></td>
                    <td></td>
                    <td><a href="#" id="detail" class="btn btn-info">Detail</a></td>
            </tr>
            <?php $no++;} ?>
            </tbody>
        </table>
    </form>


<script type="text/javascript">
    //Ajax Load data from ajax
    $(document).on('click', '#detail', function(){

            var sono = $('#sono').val();
            var opnamedate = $('#opnamedate').val();
            var wh = $('#warehousecode').val();
            var stocktypeid = $('#stocktypeid').val();

            alert(sono);

        });

【问题讨论】:

  • 如何创建动态?

标签: php ajax codeigniter


【解决方案1】:

你必须让 id 也是动态的,脚本也应该是动态的。希望你能明白

id="detail1"

.on('click', '#detail1', function() ----for first .on('click', '#detail2', function() ----for second 以此类推

【讨论】:

    【解决方案2】:
    <form action="<?php echo base_url() ?>index.php/stock_opname/proses_detail" method="post">
        <table class="table table-striped">
            <thead>
            <tr>
                <th>No</th>
                <th>SO No</th>
                <th>Opname Date</th>
                <th>Warehouse</th>
                <th>Type</th>
                <th>Approve</th>
                <th>Close period</th>
                <th>Detail</th>
            </tr>
            </thead>
            <tbody>
            <?php $no=1; foreach ($show as $key) { ?>
            <tr>
                    <td><?php echo $no ?></td>
                    <td><input type="text" id="sono<?php echo $no; ?>" value="<?php echo $key->sono ?>"></td>
                    <td><input type="text" id="opnamedate<?php echo $no; ?>" value="<?php echo $key->opnamedate ?>"></td>
                    <td><input type="text" id="warehousecode<?php echo $no; ?>" value="<?php echo $key->warehousecode ?>"></td>
                    <td><input type="text" id="stocktypeid<?php echo $no; ?>" value="<?php echo $key->stocktypeid ?>"></td>
                    <td></td>
                    <td></td>
                    <td><a href="#" id="detail" onclick="getDetails(<?php echo $no; ?>)" class="btn btn-info">Detail</a></td>
            </tr>
            <?php $no++;} ?>
            </tbody>
        </table>
    </form>
    
    
    <script type="text/javascript"> //Ajax Load data from ajax
    function getDetails(no){
        var sono = $('#sono'+no).val();
            var opnamedate = $('#opnamedate'+no).val();
            var wh = $('#warehousecode'+no).val();
            var stocktypeid = $('#stocktypeid'+no).val();
            alert(sono);}
    

    希望这会有所帮助

    【讨论】:

      【解决方案3】:

      你可以试试这个吗?

      $('#detail').click(function(){
          var sono = $(this).siblings('#sono').val();
          var opnamedate = $(this).siblings('#opnamedate ').val();
          var wh = $(this).siblings('#wh').val();
          var stocktypeid = $(this).siblings('#stocktypeid ').val();
      
          alert(sono);
      });
      

      【讨论】:

      • 值警报中的“未定义”
      猜你喜欢
      • 1970-01-01
      • 2020-03-22
      • 1970-01-01
      • 2018-04-28
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多