我有一个包含作业详细信息列表的表格,当我点击时,我会找到每个作业的复选框 下一页链接选择复选框,以便我应该获取带有复选框值和链接url查询字符串的查询字符串
<input type="checkbox" class="checkJobToSend" name="checkJOb" value="<TMPL_VAR NAME=job_id>"
<input type="checkbox" class="checkJobToSend" name="checkJOb" value="<TMPL_VAR NAME=job_id>"
<input type="checkbox" class="checkJobToSend" name="checkJOb" value="<TMPL_VAR NAME=job_id>"
<input type="checkbox" class="checkJobToSend" name="checkJOb" value="<TMPL_VAR NAME=job_id>"
<input type="checkbox" class="checkJobToSend" name="checkJOb" value="<TMPL_VAR NAME=job_id>"
<a href ='index.cgi?reqpage=$prev_page&job_category_id=$jobCategory' class='paginateAdmin' id='govtPaginate'>prevPage</a>
function getJobsChecked(){
var arr = [];
var i= 0;
$('.checkJobToSend:checked').each(function(){
arr[i++] = $(this).val();
});
return arr;
}
$(document).ready(function() {
$(document).on('click','.paginateAdmin',
function(e){
e.preventDefault();
var arr = getJobsChecked();
var post = $(this).attr("href");
var array = post.split('?');
var id=$(this).attr('id');
$.post(
'job.cgi',
array[1],
function(data,status){
switch(id)
{
case "nonItPaginate":
$('#nonit').html(data);
break;
case "ItPaginate":
$('#it').html(data);
break;
case "govtPaginate":
$('#govt').html(data);
break;
default:
}
}
);
});
});
我如何形成一个带有数组[1]的queryString,并且带有一个复选框值的arr,如
reqpage=2&job_category_id=2&checkJob=1&checkJob=2&checkJob=3
答案 0 :(得分:0)
您不能拥有多个具有相同名称的参数,只能有一个参数checkJob
。所以你可以这样做:
reqpage=2&job_category_id=2&checkJob=1,2,3
可以这样实现:
// get checked values
var checked = $('input[type="checkbox"].checkJobToSend:checked');
var checkedValues = [];
checked.each(function(i) {
// add checked values to our temporary list
checkedValues.push(checked[i].value);
});
// create query param
var queryParam = 'reqpage=2&job_category_id=2&checkJob=' + checkedValues.join(',');
参见工作示例:http://jsfiddle.net/amyamy86/GsSqc/
在服务器端代码中,必须解释checkJob=1,2,3
。
// in PHP
$jobs = explode(",", $_GET["checkJob"]);
echo $jobs[0]; // outputs value: 1
echo $jobs[1]; // outputs value: 2
echo $jobs[2]; // outputs value: 3
您可以阅读有关以下使用的功能的更多信息:
答案 1 :(得分:0)
这将创建您的查询字符串并将其添加到哈希值(哈希部分将无法在jsFiddle上运行,或者至少您不会在URL中看到它更改):
Javascript :
function getJobsChecked(){
var arr = [];
var i= 0;
$('.checkJobToSend:checked').each(function(){
arr[i++] = $(this).val();
});
return arr;
}
$("#btn").on("click",function(){
var arr = getJobsChecked();
var qString = "reqpage=2&job_category_id=2";
for(var i = 0; i<arr.length;i++)
{
qString+="&checkJob=" + arr[i];
}
location.hash=qString;
});
<强> HTML 强>:
<input type="checkbox" class="checkJobToSend" name="checkJOb" value="1" />1
<input type="checkbox" class="checkJobToSend" name="checkJOb" value="4" />2
<input type="checkbox" class="checkJobToSend" name="checkJOb" value="7" />3
<input type="checkbox" class="checkJobToSend" name="checkJOb" value="12" />4
<input type="checkbox" class="checkJobToSend" name="checkJOb" value="5" />5
<input type="button" id="btn" value="Do It" />
jsFiddle :http://jsfiddle.net/Zxhzq/