关于jquery中使用.val(),取不到值。为啥啊!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于jquery中使用.val(),取不到值。为啥啊!相关的知识,希望对你有一定的参考价值。
var account=$("#<%=administrators.getAccount()%>").val();
alert(account);
使用上面的.val()取值为空;
var account=$("#<%=administrators.getAccount()%>").attr('id');
alert(account);
使用上面的.attr('id')方法就能取到值。为什么啊,在input标签中有value这个属性,也赋值的。
jquery中使用.val(),取不到值,是设置错误造成的,解决方法如下:
1、首先新建一个html文档,指定<input>元素的ID,如下图所示。
2、然后编写JS脚本,根据ID选择元素,如下图所示。
3、接着使用.val()方法获取被选元素的value值。
4、以弹窗形式显示获取的input值。
5、最后保存文件,在浏览器查看结果,就完成了。
参考技术A这里使用.val()是取不到数据的,必须换成.text()。
所以顾名思义:val()方法 一般使用在input属性中,要获取值的话,必须有value属性。也可以通过val("xx") 通过xx设置值。
在jquery中给表单取值或赋值的方法我们只要简单的$(\\'表单ID\\').val()即可实现取值了,如果赋值可使用$(\\'表单ID\\').val(\\'内容\\')即可实现了。
扩展资料
jQuery中使用text()、html()、val()方法对Html元素赋值和取值
在jQuery中,使用选择器可以非常容易的得到任何一个Html元素,在Html页面上,分表单元素和非表单元素:而对于jQuery封装的text()方法,其主要功能就是给Html页面上的非表单元素赋值和取值操作。
text()方法是jQuery的方法,使用该方法操作的元素必须是使用jQuery选择器查找到的,如果使用javascript查找到的元素,则是不能使用text()方法操作的。使用div1.text()获取div元素的值,使用div1.text(“新值”)给div元素赋值。
注意事项:
使用text()不能获取表单元素的值,如文本框的值。jQuery的text()方法相当于JavaScript的innerText属性。
参考技术B 1.你需要检查代码的逻辑,这个地方是不是本来就应该是一个空值.2.如果你有用到前端的插件,你可以检查一下是否你的input被渲染成了其它的标签,比如span. 如果是这类标签的话,你用val是肯定取不到值得 参考技术C 我的也是,F12浏览器都看到那里有值,.val()就是取不出来,总是null
我的好了,我用.attr('value')取到值了,我也不明白为啥。 参考技术D 看看页面中 var account=$("#<%=administrators.getAccount()%>").val(); 是什么值。 那个是后台的代码,页面中肯定不同的。追问
debug调试了,页面中的值和数据库中的是一样的。
jquery的.val()取不到input标签的值
百度的貌似都是说字母写错,id重名或者换成.text(),我认真检查了n遍也换了发现都没有用,最后发现是因为input标签被<form>表单包起来了
原因还不知道是为什么,吃完饭回来再查。
补充:form表单要获取到值好像要用.getParameter()
以上是关于关于jquery中使用.val(),取不到值。为啥啊!的主要内容,如果未能解决你的问题,请参考以下文章
为啥 jquery select.val() 在 AngularJS 环境中返回类型:值?