为什么Bootsrtap中用$(".form-control").val()不能获取input的值?
为什么Bootsrtap中用$(".form-control").val()不能获取class为form-control的input的值?
为什么会这样?
我给相应的input加个其它的class,用其它的class来获取值得就完全没有问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
那说明你加了
form-control
样式的标签不止一个吧你应该先运行一下$(".form-control").length,看看有没有找到,找到了几个
最好加个id吧,bootatrap里的class会用在很多标签上
form-control是框架里带的,最好自己定义一个id
bootstrap里很多都要用到这个类的吧,我觉得你应该是可以取到应用了这个类的元素的,可以调试下看看啊
用其他class作为选择器
form-control作为bootstrap里自带的 建议不要采用其作为选择器的标签
$(".form-control").val() 这是 jQuery 的方法,其实跟 Bootstrap 没关系。
$.fn.val 方法用于获取查找到的第一个元素的值,如果是 select,checkbox,radio 则返回选中的值(可以是多个)
也就是说,您得看看 $(".form-control") 都是对应哪些元素,什么类型,第一个是哪个。如果想测试,可以在 chrome 或 firefox 或 ie 下按 f12(OSX 里是 Option+Command+i) 打开开发工具,切换到控制台(Console)下,输入 $(".form-control") 或 $(".form-control").val() 后回车查看。如果有报错看报什么错。
页面上可能有很多 class为
form-control
的 元素 所以你直接取值不能取出来你可以现尝试
如果弹出的数字大于1 那就证明我的猜想是对的。下面是详细的解决方法。
你可以尝试这样 缩小一下范围 只查找 input的class为form-control的元素
代码如下:
或者获取指定第几个的class为
form-control
的val代码如下:
当然最好还是 给要获取的元素 单独一个class
这样更加好区分,代码更加清晰