如何在javascript中获取从Action中传送过来的一个List集合中的某一个值呢

如何在javascript中获取从Action中传送过来的一个List集合中的某一个值呢,第1张

没有现成的java或jsp等的标签完成从java到js的代码转换,只能手动转。如下。

以下部分是伪代码(jsp有段时间没用了):

<jsp>

//这里假设list是中放的是String

String arrayStr = "[";

for(list){

array += list[i]+",";

}

arrayStr += "]";

</jsp>

<javascript>

var array = eval(<jsp>write(arrayStr);</jsp>);

</javascript>

一般的做法是将map对象转成json在jsp页面中输出,js直接得到的就是json对象,便利json使用for循环即可

for(k in json){

alert(k + "=" + json[k])

}

这个……这个怎么可以呢?

div是不支持name属性的

也就是说,你给div赋了name属性,如果是程序赋的,那就等于没赋值,如果是手工赋的,那也照样得不到,比如下面的这段代码就证明这一点:

————————————————————————

<html>

<head>

<title>aboutName</title>

<script type="text/javascript">

onload = function(){

documentgetElementById("fdsa")name = 'nn';

alert(documentgetElementsByName("nn")[0]id);

}

</script>

</head>

<body>

<div id="fdsa"></div>

</body>

</html>

————————————————————————

但是,支持name属性的标签却可以取到值(IE也一样取不到,但是如果你的name不是由程序赋值,而是手工:<input id='fdsa' name='nn'></input>这样,IE却可以取到):

——————————————————————

<html>

<head>

<title>aboutName</title>

<script type="text/javascript">

onload = function(){

documentgetElementById("fdsa")name = 'nn';

alert(documentgetElementsByName("nn")[0]id);

}

</script>

</head>

<body>

<input id="fdsa"></input>

</body>

</html>

————————————————————

IE下的测试:

————————————————————————————

<html>

<head>

<title>aboutName</title>

<script type="text/javascript">

onload = function(){

alert(documentgetElementsByName("nn")[0]id);

}

</script>

</head>

<body>

<input id="fdsa" name="nn"></input>

</body>

</html>

————————————————

如果你非要取得集合,如果你要取得的div比较集中,有规律,比如说它是一个div下的子标签,那么可以通过documentgetElementsByTagName的方法来取得。

如果这样的方式不行,你还可以使用getElementsByClassName的方式,但是,我要提醒你的是,getElementsByClassName在低版本的IE浏览器中是不支持的,当然,有的是办法解决,比如下面的这个自定义函数就可以解决这个问题:

function gC(tag,obj){

if(typeof documentgetElementsByClassName !='function'){

return falseGetElemnetByClassName(tag, obj);

}else{

if(obj==null) return documentgetElementsByClassName(tag);

else return objgetElementsByClassName(tag);

}

function falseGetElemnetByClassName(cN,obj){

if(obj==null) var d=document;

else var d=obj;

var e=dgetElementsByTagName('');

var c=new RegExp('\\b'+cN+'\\b');

var r=[];

for(var i=0,l=elength;i<l;i++){

var n=e[i]className;

if(ctest(n)) rpush(e[i]);

}

return r;

}

}

然后你就可以使用gC('className', parentElementObj)来取得这些标签的集合了(第二个参数可以没有)。

办法应该不止这一点,你完全可以根据你的程序流程,来考虑比我告诉你的方案还更高效的办法,当然要看一看你自己的程序最初是如何给这些div赋name或className这样的值的,如果你是手到添加的,那当我没说。

var allpage=documentgetElementById("box")getElementsByTagName("a")length;

allpage-=2;

for (i=1;i<=allpage;i+=1) {

documentgetElementById("box")getElementsByTagName("a")[i]stylecolor="red";}

var tab=documentgetElementById('tableId');

var trs=tabgetElementsByTagName('tr');

这样就取到了所有tr。trs是一个对象,包含所有tr的集合。

以上就是关于如何在javascript中获取从Action中传送过来的一个List集合中的某一个值呢全部的内容,包括:如何在javascript中获取从Action中传送过来的一个List集合中的某一个值呢、如何用JS获取后台MAP中集合的值、javascript 求DIV的集合问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9770931.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存