以下是我的剧本
$("#locSearchSubmitBtn").click(function(){
var locname = $("#location").val();
var qparam = window.location.search.replace(/[\\?&]q=([^&#]*)/g,'')
history.pushState({},"qparam", '?q='+locname+qparam);
//alert(locname);
$("input[type=checkbox]:checked").each(function(index,ele) {
var qparam = window.location.search.replace(/[\\?&]q=([^&#]*)/g,'').replace(/[\\?&]tloc=([^&#]*)/g,'');
history.pushState({},"qparam", '?q='+locname+qparam+'&tloc='+ele.value);
});
$("#specialitycenters li.selected").each(function (index,ele) {
ele = $(this).text();
var qparam = window.location.search.replace(/[\\?&]q=([^&#]*)/g,'').replace(/[\\?&]sc=([^&#]*)/g,'');
history.pushState({},"qparam", '?q='+locname+qparam+'&sc='+ele);
});
});
这里我试图获取复选框选中的值并将它们附加到URL。 但是,如果我选择了多个复选框,则无法传递多个值。
网址构建如
http://portalauthv2tst:10039/wps/myportal/childrenspublic/testpages/newsearch/?q=&tloc=Hospital_or_ER
这里tloc是保存复选框值的参数,在第二次按钮点击时,如果我选择了两个复选框,之前的tloc值正在删除,而新的值正在追加。
如何使用每个函数附加多个复选框值。
答案 0 :(得分:0)
In javascript, that's just a string:
var url = 'http://example.com/mypage?vendorId=1&vendorId=2&vendorId=3'
var qs = url.split('?')[1];
var parts = qs.split('&');
var arr = [];
$.each(parts, function() {
var val = this.split('=')[1];
arr.push(val);
});
FIDDLE
or the short way:
var arr = $.map(window.location.split('?')[1].split('&'), function(e,i) {
return e.split('=')[1];
});