请看看我的[小提琴] [1]。
我试图让所有的表包含在一个给定的DIV一个选中的复选框。该表将随后被发送到我的邮箱功能之前发来的变量$内容,以我的AJAX功能。
然而,当我点击发送按钮,我得到的错误 - 内容没有定义。
的jQuery('#搜索查询发送)。点击(函数(){
jQuery的('。selectthis输入:选中)每个(函数(){。
VAR含量= jQuery的(本)。家长('div.apartment入容器)HTML()。
。VAR电子邮件=的jQuery('#邮件)VAL();
});
jQuery.ajax({
网址:http://www.greenmonkeypublicrelations.com/scpads/wp-admin/admin-ajax.php
键入:POST,
数据:'行动= apartmentsearchemail和放大器;电子邮件='+电子邮件+'和;内容='+含量,
成功:函数(结果){
//恢复了过来,现在将其分配给它的领域。
警报('您的邮件已发送。');
执行console.log(结果);
}
});
});
解决方案
变量内容
这里是一个局部变量,并且只包含当前表的HTML。如果你想送他们在一起,你将不得不追加/使用连接值 + =
:
的jQuery('#搜索查询发送)。点击(函数(){
VAR内容='',电子邮件='';
jQuery的('。selectthis输入:选中)每个(函数(){。
。内容+ = jQuery的(本)。家长('div.apartment入容器)HTML();
VAR电子邮件+ =的jQuery('#邮件)VAL()。
});
jQuery.ajax({
网址:http://www.greenmonkeypublicrelations.com/scpads/wp-admin/admin-ajax.php
键入:POST,
数据:'行动= apartmentsearchemail和放大器;电子邮件='+电子邮件+'和;内容='+含量,
成功:函数(结果){
//恢复了过来,现在将其分配给它的领域。
警报('您的邮件已发送。');
执行console.log(结果);
}
});
});
不过,通过GET方法发送HTML code是不可取的。你可以尝试做一个POST呢?
Please take a look at my [fiddle][1].
I am trying to get all the tables with a selected checkbox contained in a given div. The tables will then be sent as a variable $content to my ajax function before being sent to my mail function.
However, when I click the send button, I am getting the error - content is not defined.
jQuery('#search-query-send').click(function(){
jQuery('.selectthis input:checked').each(function() {
var content = jQuery(this).parents('div.apartment-entry-container').html();
var email = jQuery('#email').val();
});
jQuery.ajax({
url:"http://www.greenmonkeypublicrelations.com/scpads/wp-admin/admin-ajax.php",
type:'POST',
data:'action=apartmentsearchemail&email=' + email + '&content=' + content,
success:function(result){
//got it back, now assign it to its fields.
alert('Your message has been sent.');
console.log(result);
}
});
});
解决方案
The variable content
here is a local variable, and only contains the current table's HTML. If you want to send them together, you will have to append/join the values using +=
:
jQuery('#search-query-send').click(function() {
var content = '', email = '';
jQuery('.selectthis input:checked').each(function() {
content += jQuery(this).parents('div.apartment-entry-container').html();
var email += jQuery('#email').val();
});
jQuery.ajax({
url: "http://www.greenmonkeypublicrelations.com/scpads/wp-admin/admin-ajax.php",
type: 'POST',
data: 'action=apartmentsearchemail&email=' + email + '&content=' + content,
success: function(result) {
//got it back, now assign it to its fields.
alert('Your message has been sent.');
console.log(result);
}
});
});
However, sending HTML code via GET method is not advisable. Could you try to do a POST instead?