Jquery 以javascript数组形式发送数据
HTMLJquery 以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> <
<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>