为什么Bootsrtap中用$(".form-control").val()不能获取class为form-control的input的值?
为什么会这样?
我给相应的input加个其它的class,用其它的class来获取值得就完全没有问题。
为什么Bootsrtap中用$(".form-control").val()不能获取class为form-control的input的值?
为什么会这样?
我给相应的input加个其它的class,用其它的class来获取值得就完全没有问题。
$(".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
的 元素 所以你直接取值不能取出来
你可以现尝试
alert($("input.form-control").size())
如果弹出的数字大于1 那就证明我的猜想是对的。下面是详细的解决方法。
你可以尝试这样 缩小一下范围 只查找 input的class为form-control的元素
代码如下:
$("input.form-control").val()
或者获取指定第几个的class为 form-control
的val
代码如下:
//eq(0) 代表第一个class为`form-control`的元素 你可以自己填写需要的
$("input.form-control").eq(0).val()
当然最好还是 给要获取的元素 单独一个class
这样更加好区分,代码更加清晰
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
那说明你加了
form-control
样式的标签不止一个吧