jquery通过class获取a标签里面的值,附给button,并且关闭弹出框,怎么写呀

<html><head><title>省市公司页面</title><scripttype="text/javascript">functionproListJSON(di... <html><head><title>省市公司页面</title><script type="text/javascript"> function proListJSON(divid) { //省动态刷新 $.ajax({ type : 'POST', url : '${pageContext.request.contextPath}/proController/proListJSON', dataType : 'json', success : function(result) { $.each(result, function() { $("#proList").append("<li>" + "<a class='aclick' href='javascript:;' >" + this.proName + "</a>" + "</li>"); }); }, error : function() { } }); } function orgListJSON(proName) { //省市公司动态刷新 $.ajax({ type : 'POST', url : '${pageContext.request.contextPath}/orgController/orgJSON?proName='+proName, dataType : 'json', success : function(result) { return result.orgName; }, error : function() { } }); } //弹出框加载触发器 $(document).ready(function() { new PopupLayer({trigger:"#ele8",popupBlk:"#blk8", onBeforeStart:function(){ proListJSON(proList); } }); }); //给botton赋值 $(document).ready(function() { $(".aclick").click(function(){ var proName = $(this).html(); var orgName = orgListJSON(proName); $("#ele8").val(orgName); $("#emample8").hide(); }); });</script></head>
<body>

这样写获取不到点击事件,赋值也不成功,另外问下点击完要隐藏弹出框,怎么弄?
展开
 我来答
suxueduwang
2013-11-06 · TA获得超过654个赞
知道小有建树答主
回答量:209
采纳率:33%
帮助的人:234万
展开全部
// 你好
// 由于你的 <li> 是动态生成的,你在使用 $.ajax 的时候也没有指定 同步加载
// 所以可能是先执行了下面的 $(".aclick") 绑定事件了
// 在 <a> 还没有生成的时候,就对齐进行绑定,因此是无效的
// 而且你的 <li> 是根据选择结果动态生成的,建议把你的绑定事件写到
// $("#proList").append("<li>"); 之后
// 去掉最后一个 $(document).ready 给 button 赋值的代码
// 改动你的 success:function(){} 如下

$.each(result, function() {
var proName = this.proName;
// 这里循环定义 li 标签
var li = $("<li><a class='aclick' href='javascript:void(0);'>"+proName +"<a></li>");
// 然后再对该标签进行 click 绑定
li.click(function(){
$("#ele8").val(proName);
$("#emample8").hide();
})
// 这里 append 一个已经带有 click 事件的 li 就OK了
$("#proList").append(li);
});
更多追问追答
追问
刚试了下,还是监听不到点击呀
追答
你的HTML页面引用了Jquery.js了吗?如果有的话,要看看是否有监听事件的触发,你可以修改
li.click(function(){
alert("我被触发了");

})
如果可以alert出来,则是赋值语句的问题
ys5955092
2013-11-06 · TA获得超过671个赞
知道小有建树答主
回答量:551
采纳率:100%
帮助的人:561万
展开全部
你ready时json获取到了A标签,然后再写到页面中时,再用ready绑定click操作,这样js是获取不到你append进去的A标签的,因为,ready就表示是你加载页面的时候获取到页面元素,而你又动态写入了A元素,那么你写之前,已经加载完成,所以找不到A标签。
所以你的$(".aclick").click事件不能用ready,我觉得你写到button上,或者将js写到页面的最后(不能用ready)
追问
可以给个具体的代码吗?不写ready的话 ,用什么?我是小白,急用,拜托了
追答
你这代码我这里不好运行啊。。你自己试试,就是写到:  $("#proList").append("" + "" + this.proName + "",这个里边写个click事件,然后你把你的click处理放到这个函数里边
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友46b235f5b2
2013-11-06 · TA获得超过1397个赞
知道小有建树答主
回答量:676
采纳率:100%
帮助的人:620万
展开全部
//动态追加的元素,事件绑定用bind或者live
$(".aclick").live('click',function(e){
    .....
})
追问
可以把我需要改动的地方,具体写下代码吗?我是小白。
我的需求是点击“省份”,进数据库查询出来,对应的公司。然后赋值在输入框(我这里用的是button),然后隐藏弹出框。
追答
代码你不是都写好了么?直接把你的$(".aclick").click() 换成
$(".aclick").live('click',function(e){
.....
})
不就行了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式