不能这样根据元素名字循环遍历节点,parents会获取所有父级元素,每次循环中理论上都是获取到同样的row节点,用next()没用。
既然是同样的表格,你可以在B页面表格生成的时候顺便加一个位置参数,比如第一行第三列的button里加个属性' row="1" clm="3" ,点击的时候数顺便获取这两个参数,再到A页面根据这两个参数去找
$("tableA")children('[row='+data[i]row+']')children('[clm='+data[i]row+']')val(data[i]ProductName);或者直接在B页面获取index
var clmEl=$(this); var rowEl=clmElparent();var clm=$rowElindex(clmEl); var row=$("tableB")index(rowEl);
传递到A页面根据行数row和列数clm查找位置
$("tableA")children()eq(data[i]row)children()eq(data[i]clm)val(data[i]ProductName);传参常用的GET和POST两种方式,可以一般的表单数据(如注册)就是这样传递的。
1、post是不行的,用get的话,还是可以的,如aahtmldata=data 这样,在aahtml里面,再用js来解析当前的url就可以获取到data了。
2、一句话概括,纯html页面之间的传值可以通过url后面的参数进行比如:
bhtmlteacher=xx&time=xxx。
3、回到问题中,首先从ahtml到bhtml需要一个跳转方式,比方说在ahtml页面里面你有一个链接:
<a href="bhtml" id="toPageB">跳转到b页面</a>。
剩下的就好办了,依次取得你需要的参数,然后修改页面url:var dataFromLi=[$("#Teachername")text(),$("#Credit_hour")text()];$("#toPageB")attr("href","bhtmldata="+dataFromLi)。然后在bhtml页面解析url,获取参数。
跳转的时候直接把该参数加到地址上,然后再另一个页面接收这一环节跟jquery关系不大。
复制代码
代码如下:
$request
=
(function
()
{
var
apiMap
=
{};
function
request(queryStr)
{
var
api
=
{};
if
(apiMap[queryStr])
{
return
apiMap[queryStr];
}
apiqueryString
=
(function
()
{
var
urlParams
=
{};
var
e,
d
=
function
(s)
{
return
decodeURIComponent(sreplace(/\+/g,
"
"));
},
q
=
queryStrsubstring(queryStrindexOf('')
+
1),
r
=
/([^&=]+)=([^&])/g;
while
(e
=
rexec(q))
urlParams[d(e[1])]
=
d(e[2]);
return
urlParams;
})();
apigetUrl
=
function
()
{
var
url
=
queryStrsubstring(0,
queryStrindexOf('')
+
1);
for
(var
p
in
apiqueryString)
{
url
+=
p
+
'='
+
apiqueryString[p]
+
"&";
}
if
(urllastIndexOf('&')
==
urllength
-
1)
{
return
urlsubstring(0,
urllastIndexOf('&'));
}
return
url;
}
apiMap[queryStr]
=
api;
return
api;
}
$extend(request,
request(windowlocationhref));
return
request;
})();
接下来简介绍一下插件的用法。
我们可以通过
$requestqueryString["key"]
就能获取到地址栏上面key参数。
大多数情况下我用这个插件来读取一些配置信息。
我们有时候会在
html
标签中加入一些其他的非HTML属性来作为标志信息,比如我们有时候会写<a
id="demo"
href="javascript:;"
config="title=hello&auto=true&">Demo</a>
这样子我们通过
var
config
=
$request($("#demo")attr("config"))queryString;
var
title
=
configtitle;
很方便就能读取a上面的配置信息,而且我们不需要给a
添加太多其他的非Html属性。
<a id="aaa" href="bdoa=5"></a>
<script type="text/javascript">
alert($('#aaa')attr('href'));//返回href的值
</script>
直接用javascript吧,先获取标签a的href,这个楼主应该会吧,再用js里面的一个对象String的方法split,该方法是将字符串切割,返回字符串数组。例:href装在var h;里面,var strs=hsplit(""); 然后var str=strs[1];
此时str里面装的就是id=11,再截取一次即可,var ids=strsplit("="); var id=ids[1];这样,id里面装的就是11了。
该方法可以取到传递的多个参数及其对应值,例如前面的var str=strs[1];装了所有的参数及其值用&分割,得到的数组里,每个都记录了一个参数及其相应值
楼主觉得如何?
使用Javascript可以很方便的获取的URL的相关参数值,代码如下:
<script>function getParam(paramName){
paramValue ="";
isFound =false;
if (thislocationsearchindexOf("") ==0&&thislocationsearchindexOf("=")>1){
arrSource = unescape(thislocationsearch)substring(1,thislocationsearchlength)split("&");
i =0;
while (i < arrSourcelength &&!isFound){
if (arrSource[i]indexOf("=") >0){
if (arrSource[i]split("=")[0]toLowerCase()==paramNametoLowerCase()){
paramValue = arrSource[i]split("=")[1];
isFound =true;
}
}
i++;
}
}
alert(paramValue);
}
getParam("id");
</script>
获取id的值可以在js里写getParam("id");就可以,其它同理
<a href='id=1'>1</a> <a href='id=2'>2</a> <a href='id=3'>3</a>
<script>
function get(par){
//获取当前URL
var local_url = documentlocationhref;
//截取get字符串
var getstr = local_urlsubstr(local_urlindexOf('')+1)
//解析成get数组
var get = getstrsplit('&')
//查找要找到参数(par)
for(var i in get){
if(get[i]indexOf(par+'=')>=0){
return get[i]replace(par+'=','');
}
}
//如果找不到返回false
return false;
}
//获取GET id值
alert(get('id'))
</script>
以上就是关于jquery 从A页面批量获取B页面数据全部的内容,包括:jquery 从A页面批量获取B页面数据、jquery怎么实现页面之间传递参数、jQuery获取地址栏参数插件(模仿C#)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)