Jquery 以javascript数组形式发送数据

Jquery 以javascript数组形式发送数据,jquery,asp.net-mvc,Jquery,Asp.net Mvc,HTML <li id="li-tip-line"> <table> <tbody><tr> <td> <label for="lblTipLine" data-petkey="dog">Dog Tip Line Amount :</label></td> <td> <

HTML

<li id="li-tip-line">
   <table>
        <tbody><tr>
           <td>
            <label for="lblTipLine" data-petkey="dog">Dog Tip Line Amount :</label></td>
             <td>
            <input type="text" name="tip-line-amount" id="tip-line-amount" value="0.00" class="cls-tip-line-amount"></td>
           </tr>
           <tr>
           <td>
            <label for="lblTipLine" data-petkey="bruiser">Bruiser Tip Line Amount :</label></td>
            <td>
         <input type="text" name="tip-line-amount" class="tip-line-amount" value="0.00" class="cls-tip-line-amount"></td>
          </tr>
        </tbody></table>
 </li>
  • 狗尾线数量: Brucer尖端线数量:
  • UI

    我的问题

    当用户单击“付费”按钮时,是否需要将“数据petkey”值和“提示行金额”作为数组发送?我该怎么做呢?

    使用.map()


    如果需要两个独立的阵列,请执行此操作

    var arrDataKey = $('[data-petkey]').map(function(){
          return $(this).data('petkey');
    }).get();
    
    var arrLine = $('.tip-line-amount').map(function(){
          return this.value;
    }).get();
    

    如果您想要一个JSON对象
    {brucer:“0.00”,dog:“0.00”}
    使用.each()


    安东的回答太棒了。但也许您真正想要做的是通过ajax发送post请求。 假设你是这样形成的:

    <form method="post" action="paid.aspx" id="payform">
    <li id="li-tip-line">
        <table>
            <tbody><tr>
            <td>
            <label for="lblTipLine" data-petkey="dog">Dog Tip Line Amount :</label></td>
            <td>
            <input type="text" name="tip-line-amount" id="tip-line-amount" value="0.00" class="cls-tip-line-amount"></td>
            </tr>
            <tr>
            <td>
            <label for="lblTipLine" data-petkey="bruiser">Bruiser Tip Line Amount :</label></td>
            <td>
            <input type="text" name="tip-line-amount" class="tip-line-amount" value="0.00" class="cls-tip-line-amount"></td>
            </tr>
            </tbody>
        </table>
    </li>
    </form>
    
    
    
  • 狗尾线数量: Brucer尖端线数量:
  • 然后使用这个脚本

    <script>
        $( document ).ready(function() {
            $("#payform").submit(function(e){
                e.preventDefault();
                $.post($("#payform").attr('action'),$("#payform").serialize())
                    .done(function(data) {
                        // handle the result from the server
                        alert(data);
                    });
            });
        });
    </script>
    
    
    $(文档).ready(函数(){
    $(“#支付表单”)。提交(功能(e){
    e、 预防默认值();
    $.post($(“#支付表单”).attr('action'),$(“#支付表单”).serialize())
    .完成(功能(数据){
    //处理来自服务器的结果
    警报(数据);
    });
    });
    });
    
    我想你指的是javascript数组,对吧?!发送到哪里?您尝试过什么?注意:ID必须是唯一的。作为旁注,您不应该有两个具有相同名称和ID的输入字段。@Sampath没有jQuery数组,jQuery是一个javascript库,而不是一种语言。您能告诉我如何将此数组发送到服务器(在我的情况下,是asp.net mvc)吗并分别提取阵列内容?感谢您的支持。:)
    <form method="post" action="paid.aspx" id="payform">
    <li id="li-tip-line">
        <table>
            <tbody><tr>
            <td>
            <label for="lblTipLine" data-petkey="dog">Dog Tip Line Amount :</label></td>
            <td>
            <input type="text" name="tip-line-amount" id="tip-line-amount" value="0.00" class="cls-tip-line-amount"></td>
            </tr>
            <tr>
            <td>
            <label for="lblTipLine" data-petkey="bruiser">Bruiser Tip Line Amount :</label></td>
            <td>
            <input type="text" name="tip-line-amount" class="tip-line-amount" value="0.00" class="cls-tip-line-amount"></td>
            </tr>
            </tbody>
        </table>
    </li>
    </form>
    
    <script>
        $( document ).ready(function() {
            $("#payform").submit(function(e){
                e.preventDefault();
                $.post($("#payform").attr('action'),$("#payform").serialize())
                    .done(function(data) {
                        // handle the result from the server
                        alert(data);
                    });
            });
        });
    </script>