关于Div弹出层无法取值的解决方法

今晚遇到一个关于Div弹出层取值的难题了……在一个页面上,设置一个隐藏的DIV层,在需要使用的时候才使用jQuery代码弹出。然而这个Div弹出层的文本框的值是无法获取到的,另外在script标签里写的代码也是无法选中控制这个弹出层里的控件的。

面对这个问题,我尝试了以下几种方法都获取不了这个可恶的值,无奈上网找了一些方法同样没能解决。

1、在script标签里用jQuery的属性选择器取Div弹出层里的控件,然后alert弹出信息框测试。(无效)

2、在script标签里用JavaScript的通过元素ID名字取值来选中div弹出层里的控件,然后alert弹出信息框测试。(无效)

3、在script标签里写一个取Div弹出层文本框值的方法,在Div弹出层的控件里写脚本语言调用script标签里的方法,可调用,但同样取值不了。(无效)

……

从以上测试可发现,Div弹出层内部的脚本语言是可执行的,但是外界的脚本语言控制不了本体的控件。也就是这个Div弹出层的控件无法被外界直接找到!

【解决方法】利用内部脚本语言获取当前控件的值再进行传值即可

【更优解决方案】在jQuery取值时,先从外界找到弹出层,再找弹出层里的控件就行了!

Script标签的代码块如下:

<script type="text/javascript" src="jquery-1.8.3.js"></script>

<script type="text/javascript"></script>

function getValue(value){

alert("Div弹出层的值为:" + value);

}

function alert(){

alert("弹框测试!");

}

$(function(){

$("#text").blur(alert);  //这样是无法弹框的

$("#pop #text").blur(alert);  //这样即可弹框

})

<script type="text/javascript" src="jquery-1.8.3.js"></script>

Div弹出层的控件如下:

<div id="pop"> <!---- 假设这个是Div弹出层 ---->

<input type="text" id="text" οnblur="var value=this.value;getValue(value);" />

</div>


<!---- 第一次发帖,大家多多支持咯 ---->

本人技术有限,文笔也不太好,大家就凑合着看吧。哪位大神有更优解决方案的,欢迎指出哈!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值