解决方案 »
- 我遇到个问题?请大家帮忙?想要的效果是点击A按钮改变B按钮的效果?
- java如何执行批处理?
- 什么是Validator?如何使用?给个简单点的实例
- 点击按钮不起作用<button onclick='javascript:window.open("modify.asp?id=<%=rs2("acc_id")%>&acc_name="+document.getElementById("acc_na
- 急!用Javascript操纵Word
- form提交打开新标签
- 怎么做一个首页的图片能动态更新的?
- JS改VBS问题
- 关于嵌入式页面的高度问题,求教,高分!!!!!
- js验证用户名
- 求个正则:匹配正整数或者小数,小数点后不超过两位
- 下拉框提示功能求助!
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$(function(){
var json={};
var tesrArr=[];
$("table tr").each(function(index, element) {
var td1=$(this).find("td:eq(0)");
var td2=$(this).find("td:eq(1)");
var arr=[];
var preO=tesrArr.findObj("class",td1.text());
if(preO)
preO.value.push(td2.text());
else
tesrArr.push({"class":td1.text(),value:[td2.text()]});
});
var result={"test":tesrArr};
console.log(result);//result即为所求的json对象
})
Array.prototype.findObj=function(key,value)
{
for(var i=0;i<this.length;i++)
{
if(this[i][key]&&this[i][key]==value)
return this[i];
}
return null;
}
</script>
</head><body>
<table>
<tr><td>A</td><td>20</td></tr>
<tr><td>B</td><td>30</td></tr>
<tr><td>A</td><td>40</td></tr>
<tr><td>B</td><td>50</td></tr>
<tr><td>A</td><td>60</td></tr>
<tr><td>C</td><td>70</td></tr>
</table>
</body>
</html>
{"class":"A","value":[12,13]},
{"class":"B","value":[20,30,50]}
]}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script>
$(function(){
var tab=$("table tr");//表格的所有TR
if(tab==null||tab.size()==0)
return null;var str=[];
tab.each(function(ky,v){
var k=$("td", this).eq(0).text();//遍历取得行的第一个单元格
var array=findByKey(str,k);//按第一个单元格值,去找以该值为KEY的字面量if(array==null){//没找到就创建一个
var newarray={};
newarray.class=k;
newarray.val=[{"value":$("td", this).eq(1).text()}];
str.push(newarray);
}
else{//已经存在,添加值
array.val.push({"value":$("td", this).eq(1).text()});}
});
var json={};
json.test=str;
alert(JSON.stringify(json));//json转成字符串
})function findByKey(array,key){//遍历查找
var sr=null;
$(array).each(function(k,v){
if(v.class==key){
sr= v;}
return true;
});
return sr;
}
</script>
</head><body onload="">
<table >
<tr><td>A</td><td>2890</td></tr>
<tr><td>B</td><td>720</td></tr>
<tr><td>A</td><td>210</td></tr>
<tr><td>C</td><td>220</td></tr>
<tr><td>A</td><td>420</td></tr>
<tr><td>D</td><td>240</td></tr>
<tr><td>C</td><td>220</td></tr>
<tr><td>C</td><td>220</td></tr>
<tr><td>F</td><td>220</td></tr> </table>
</body>
</html>
function groupByName(list){
var obj={},i,len=list.length;
for(i=0;i<len;i++){
var key = list[i][0];
obj[key] = obj[key] || [];
obj[key].push(list[i]);
}
return obj;
}
function toMyFormat(list){
var key,arr=[];
for(key in list){
var obj = {};
obj['class'] = key;
var v = list[key],len=v.length,i;
for(i=0;i<len;i++){
obj['val'] = obj['val'] || [];
var objval = {};
objval['value'] = v[i][1];
obj['val'].push(objval);
}
arr.push(obj);
}
return arr;
}
function addTest(arr){
var obj = {};
obj['test'] = arr;
return obj;
}
var $d = groupByName($data);
var $myFormat = toMyFormat($d);
var $jso = addTest($myFormat);
var $js = JSON.stringify($jso);