如何使用 jquery ajax 提交以逗号分隔的多个 select
How to submit comma delimited on multiple select using jquery ajax
我试图弄清楚如何在多个 select 上提交逗号分隔值。这是我的示例代码:
$( 'myform').ajaxForm({
beforeSubmit: function(data) {
var queryString = compressParam($.param(data));
//console.log('params:'+queryString);
},
success: function(response){
$('div').html(response);
}
error: function(a,e,et) { alert('ERROR 101: '+et); }
});
function compressParam(data) {
data = data.replace(/([^&=]+=)([^&]*)(.*?)&([^&]*)/g, ",");
return /([^&=]+=).*?&/.test(data) ? compressParam(data) : data;
}
我找到了一个可以组合相同参数的函数。工作起来很有魅力,但不知道如何作为数据提交,或者您是否有其他想法如何使用 ajaxForm 以逗号分隔提交多个参数?
我知道这是对我的问题的迟到回复,但希望能帮助像我一样希望一次又一次解决这个问题的人。感谢 John Resig 的代码和解释。
function compress(data){
var q = {}, ret = "";
data.replace(/([^=&]+)=([^&]*)/g, function(m, key, value){
q[key] = (q[key] ? q[key] + "," : "") + value;
});
for ( var key in q )
ret = (ret ? ret + "&" : "") + key + "=" + q[key];
return ret;
}
我试图弄清楚如何在多个 select 上提交逗号分隔值。这是我的示例代码:
$( 'myform').ajaxForm({
beforeSubmit: function(data) {
var queryString = compressParam($.param(data));
//console.log('params:'+queryString);
},
success: function(response){
$('div').html(response);
}
error: function(a,e,et) { alert('ERROR 101: '+et); }
});
function compressParam(data) {
data = data.replace(/([^&=]+=)([^&]*)(.*?)&([^&]*)/g, ",");
return /([^&=]+=).*?&/.test(data) ? compressParam(data) : data;
}
我找到了一个可以组合相同参数的函数。工作起来很有魅力,但不知道如何作为数据提交,或者您是否有其他想法如何使用 ajaxForm 以逗号分隔提交多个参数?
我知道这是对我的问题的迟到回复,但希望能帮助像我一样希望一次又一次解决这个问题的人。感谢 John Resig 的代码和解释。
function compress(data){
var q = {}, ret = "";
data.replace(/([^=&]+)=([^&]*)/g, function(m, key, value){
q[key] = (q[key] ? q[key] + "," : "") + value;
});
for ( var key in q )
ret = (ret ? ret + "&" : "") + key + "=" + q[key];
return ret;
}