日期:2014-05-16  浏览次数:20502 次

如何从checkbox和下拉list中读取信息,并用于查询数据库呢?
我是新手,可能会问到对这里大牛来说简单的基础问题,请多多赐教。
问题是:如下图一个简单页面,
该页面第一行是一个可选择过去时间的日期选择表(计划用datepicker),下面是我从数据库读取的各个记录并用表格的形式列出。每条记录后面都有一个<input type="checkbox">这样的一个checkbox。在该表的下方,我预计设定一个按钮(按钮没有画出,预计采用<input type="button" value="change">的形式,针对下面实现的功能是不是有更好的button实现代码?)。
我想实现的功能是:点击两个checkbox,并且限定只能点击两个checkbox(否则跳出一个alert的警告窗),再点击按钮,改变这两个记录的位置(序号不变)。预想的功能过程是:点击按钮后,此时把该记录的No.的数值和date下拉表中的日期变量传递出来,据此查询数据库,并对调这两个记录的序号,再在前台列表展现出。

我的主要困难是:在一个完整的页面上肯定有多个类似Car 1的列表,这意味着有很多checkbox。如何从被点击checkbox的这条记录中读取No.数值,并且获取下拉表中的日期数值,并用于查询数据库?查询数据库的后台程序我应该能做到,其实也很简单。但前台如何从页面抓取这两个数据,对我是个问题。

请大牛们多多帮忙。因为小弟刚接触js\ajax\jquery,一直很头疼,所以小弟在这里恳求:如果可以的话,能否给出核心问题的关键代码片段或者指出类似网上案例,这样方便小弟临摹。
万分感谢啊!

------解决方案--------------------
<input type="checkbox" name=??? value=???>
name 用于服务器端识别对象
value 应为数据库中的唯一识别标识
------解决方案--------------------
我最近正好做一个东西  跟你上次跟我提到的需求还有这次的问题有点接近...

不过显示效果还没做好,操作也略复杂.......就不给你看demo了

你说的这个 我大致看了下  是不是说 有不定数量的值要传给后台,而且name啊什么的可能都不同

我是这样做的(直接拿我的代码给你看吧,,,

//向数据库提交添加完的数据
function queding_item(item_id,obj){
var shuxing_str = "";
$.each($("input.shuxing_col"),function(i ,n ){
var shuxing_col = $(n).attr("shuxing_col");
var num = $(n).val();
if(i == 0){
shuxing_str += '{';
}
shuxing_str += '"'+shuxing_col+'":"'+num+'"';
if(i < $("input.shuxing_col").length -1){
shuxing_str += ',';
}else{
shuxing_str += '}';
}
});
$.ajax({
type:"post",
url:"select.php",
data:{
shuxing_str:shuxing_str,
item_id:item_id,
action:"queding_item"
},
success:function(msg){
if(msg > 0){
xuanding(msg);
}
}
});
}


我获得所有符合要求的元素,即input并且class为shuxing_col
然后用$.each()来循环这个符合要求的元素的集合

然后将需要的值拼成一个json字符串(可以转化成数组的那种json字符串

比如你可以用name做键名,value做键值

传递给PHP 

PHP拿到后,用json_decode转化成数组

循环这个数组然后进行查询..