【问题标题】:After prepend, set value as input javascript then process values in php script前置后,将值设置为输入 javascript,然后在 php 脚本中处理值
【发布时间】:2016-02-03 07:50:14
【问题描述】:

我正在使用脚本将表中的选定值打印到另一个 div 中。

<script>
    $(".addValues").click(function () {
        $('#selection').show();
        var $this = $(this),
        myCol = $this.closest("td"),
        myRow = myCol.closest("tr"),
        targetArea = $("#selection");

        var qte_input = ('<input type="text" name="kolicina" id="kolicina" placeholder="kg / m" size="10"/>');
        var broj = ($("td.data-id", myRow).text());
        targetArea.prepend(broj + qte_input +"<hr />"); 

        var arr = { sifra:broj, kolicina:qte_input };
        $.ajax({ 
            url: 'script.php',
            data: arr,
            type: 'post',
        });
    });
</script> 

我正在尝试在script.php 中获取选定的值,将选择多个值,每次选择后我需要输入var qte_input 的数量。

谁能告诉我如何将var broj 设置为输入并同时将其打印到另一个选定的 div 中?

html代码

<table id="datatable" class="table table-bordered">
    <thead>
      <tr>                                  
        <th>ID</th>
        <th>-</th>
      </tr>
    </thead>
    <tbody>
    <?php while($r=$q->fetch()){ ?>
      <tr>                                
        <td class='data-id'><?=''. $r['Id']?> </td>                       
        <td> <button class="addValues" value="<?=''. $r['Id']?>"><i class="ion-ios-cart-outline"></button></td>
      </tr>
    <?php } ?>
    </tbody>
</table>

一旦我点击按钮,就会在 div 中打印一个值。可以选择多个值显示在图像上。一旦我完成选择,我点击按钮“Pošalji zahtjev”它应该拿起所有

【问题讨论】:

  • 看来您已经将broj 设置为input(如果我理解您的意思)。如果您想将其附加到另一个 div,只需执行以下操作:$('your_div').html(broj)
  • 我正在尝试获取所有被选中的 broj 值。它们应该在数组中,因为可以进行多个选择。
  • 这个问题比较难理解,可以加你的html代码吗?或者更好的是,创建一个 sn-p 或 bin..
  • 我添加了html代码和图片。非常感谢您的宝贵时间,当我使用调试器时,var broj 得到 null
  • 我的荣幸 ;) all values of broj 是什么意思?我只能看到(在 html 中)一个td.data-id。其余的值在哪里?

标签: javascript jquery


【解决方案1】:

您应该编写一个函数来收集表中的所有数据。之后,这个集合应该通过 ajax 发送给你的后端。这个小提琴中的演示:https://jsfiddle.net/mgrem9gb/

/**
 *  Function collect the form data
 */
function collectData(container){
    var data = [];
    $(container).find('tbody').find('tr').each(function(index, item){
        var rowData = {
            id: $(item).find('td.data-id').text(),
            value: $(item).find('input[name="kolicina"]').val()
        };
        data.push(rowData);
    });
    return data;
}

/**
 *  Excecute the data collect function and the ajax post
 */
$.ajax({ 
    url: 'script.php',
    data: collectData('#datatable'),
    type: 'post',
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-22
    • 1970-01-01
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    • 1970-01-01
    相关资源
    最近更新 更多