将数据从 HTML 传递到 JQuery/Ajax
Pass Data from HTML to JQuery/Ajax
我正在编写一个迷你商店,我正在努力为我的问题找到一个好的解决方案。我已经实现了快速结帐,一旦您在列出的一篇文章中按"立即购买",该结帐就会立即打开。这个快速结帐只是一个jQuery弹出窗口(截图:http://puu.sh/fcDHt/63ecfd9817.jpg)。
我的问题是找到一个好的解决方案,将我的数据从 HTML(要购买的选定文章 ID 和数量)传递到我的 Ajax 弹出窗口。从 ajax 弹出窗口中,我想稍后使用它对我的预付款 php 文件的另一个 ajax 请求(不用担心我的货币/价格/接收器都是在服务器端指定的)。
我的文章的HTML部分:
<div class="portfolio-item-meta">
<h5><a href="single_project.html">SockMonkee</a></h5>
<p>Sed in velit a justo imperdiet scelerisque ut id leo. Cras quis tellus tellus, viverra varius est. Nulla sed cursus lorem lipsum dolor augue.</p>
<div class="checkout-meta">
<div class="checkout-info">
<strong>Total:</strong> 30,00€
<div class="region-badge">euw</div>
</div>
<div class="checkout-cta">
<select name="quantity" id="quantity" style="display: inline-block;">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
</select>
<a href="checkout.php" class="btn-1 ajax-popup" data-package="1" style="display: inline-block;">Purchase Now</a>
</div>
<div class="clearfix"></div>
</div>
</div>
我想传递给我的jQuery弹出窗口的内容:
仅该div 的内容 (euw)
<div class="region-badge">euw</div>
- 我选择的数量(名称="数量"和id="数量")
- 我的 a-href 按钮的数据包。
这就是我如何称呼我的Ajax-Popup:
$('.ajax-popup').magnificPopup({
type: 'ajax',
closeOnContentClick: false,
closeOnBgClick: false
});
我想如何在结帐中使用这些传递的变量.php
$region = ...;
$quantity = ...;
$package = ...;
您可以使用magnificPopup Ajax选项:
$('.ajax-popup').magnificPopup({
type : 'ajax',
ajax : {
settings : {
data : {
region : $('.region-badge').text(),
quantity : $('#quantity').val(),
package : $('.ajax-popup').data('package'),
}
}
},
closeOnContentClick : false,
closeOnBgClick : false
});
编辑
$('.ajax-popup').mousedown(function(){
var p = $(this).data('package'),
q = $(this).parent().find('select').val(),
r = $(this).parents('.checkout-meta').find('.region-badge').text();
$(this).magnificPopup({
type : 'ajax',
ajax : {
settings : {
data : {
region : r,
quantity : q,
package : p,
}
}
},
closeOnContentClick : false,
closeOnBgClick : false
});
});
JSFiddle
或者只是在使用get
方法时更新.ajax-popup
href
属性:
$('.ajax-popup').click(function(){
var p = $(this).data('package'),
q = $(this).parent().find('select').val(),
r = $(this).parents('.checkout-meta').find('.region-badge').text();
$(this).attr('href', 'checkout.php®ion='+r+'&quantity='+q+'&package='+p)
})
.magnificPopup({
type : 'ajax',
closeOnContentClick : false,
closeOnBgClick : false
});
magnificPopup 有一个 open() 回调,该回调在弹出窗口打开时触发。
$('.ajax-popup').magnificPopup({
callbacks: {
open: function() {
},
close: function() {
}
}
});
在此弹出窗口中,您希望使用 this 元素(应返回触发弹出窗口的锚链接)和父/同级选择器导航到您的徽章。
region = this.parent().siblings(".checkout-info .region-badge").text();
根据需要存储结果。
相关文章:
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 将curl查询转换为jQuery.ajax()
- jQuery AJAX write to XML
- jQuery Ajax GET请求工作不正常
- jquery ajax https调用给出ERR_INSECURE_RESPONSE
- VB NET JQUERY AJAX上出现错误500
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- Jquery/Ajax.serialize()未完全工作
- 页面加载之前的jQuery Ajax加载程序
- jquery/ajax无限滚动事件
- 使用Jquery$.ajax将json数据传递给servlet(doPost)
- 如何将给定的curl命令复制为jquery ajax请求
- 使用 JQUERY AJAX (Spring MVC) 从控制器中删除
- Twitter API在jQuery AJAX中设置授权头
- AngularJS JQuery Ajax表单提交等效
- jQuery Ajax.ajaxSuccess()事件未激发
- 为什么Jquery$.ajax在函数调用中触发所有statusCode,即使调用成功
- jQuery AJAX总是出错
- jQuery Ajax数组序列化错误
- jQuery AJAX获取Vimeo缩略图