按钮是动态生成的
所以id是一样的 我怎样实现当点开展开的事 显示大礼包下面的礼品呢 在线等 谢谢
解决方案 »
- 新手,使用tomcat6、mysql5、myeclipse8.5、struts2开发项目,用http://localhost:8080/courses打不开首页
- hibernate4.1.2配置连接oracle10g
- java高手求SHELL
- 找工作ing(西安)
- 大虾,帮帮忙
- 怎么处理struts的form 和hibernate 的entity?
- 关于集合作品数据库的设计
- 警告: Could not obtain connection metadata 高分求解
- 关于本地JNDI找不到的问题?谢谢各位
- web端 大华SDK 如何让客户访问多个通道的监控画面时不需要下载webplugin.exe,并且兼容chrome
- 纠结的这几年
- apache tomcat 整合后怎么可以访问struts2呢
如果id是一样的,那你至少需要添加一个别的属性来绑定相应的礼包的的编号之类的,
function create(pid){
var btnObj = document.createElement(input);
btnObj.id="id";
btnObj.name="present"
btnObj.type="button";
btnObj.value="礼包";
btnObj.pid=pid;
btnObj.onclick=show;
document.getElementById("contentDiv").appendChild(btnObj);
}
function show(){
var btnObj=event.srcElement;
var divObj=document.getElementById("pDIV"+btnObj.pid);
divObj.style.display="block";
}
上面是针对你的问题写了一大概,不知道行不行
如果你是用JQuery 框架,那就容易了
页面上 例如 :自定义一个属性用于存放礼包编号
<input type="button" id="id" name="present" pid="1" valueu="礼包" />
当然 pid 是动态赋的值,调用方法可以实现取pid 显示相应的礼包如果说是 事先写好的事件,想给动态创建的按钮绑定事件可以用JQuery的 live 方法
$("input[id='id']").live("click",function(){
var pid=$(this).attr("pid");
$("pDIV"+pid).show();
});
这样也可以使用委托给动态创建的HTML元素绑定事件
我的意思是 动态生成了两个btn 和两个 div 像这样的情况怎么处理
<input type="button" id="show" value="展开" />
<div id="divShow"></div>
<input type="button" id="show" value="展开" />
<div id="divShow"></div>开始我也想过动态加一个不一样的标识
但是呢 用的jstl标签 和 struts 标签 不知道怎么用
<input type="button" id="show" index="1" value="展开" onclick="show(this)" />
<div id="divShow1"></div>
<input type="button" id="show" index="2" value="展开" onclick="show(this)" />
<div id="divShow2"></div>定义的JS像这样
function show(btnObj){
var index = btnObj.index; // 只要定义了,这里就可以得到
var divShow = document.getElementById("divShow"+index);
divShow.style.display = "block";
}
如果是JQuery 框架那就更简单了
$("input[id='show']").click(function(){
$(this).next().show(); // 只一句话就OK了,取到当前鉵发事件的按钮,点它的下个元素,再show() 一下就可以了
});
这下应该可以了
该结帖给我分了吧?