茉莉花在检测到复选框时遇到问题
Jasmine Having Trouble Detecting A Checkbox
作为更大批次Jasmine测试的一部分,我正在尝试检测是否选中了一个框。但是,我不知道如何让 Jasmine 正确检测是否选中了框。要么这样,要么我不知道如何使用jQuery正确检查它。以下测试失败:
it('detects when a checkbox is checked', function() {
form.affix('input').addClass('checkbox');
$('.checkbox').prop('checked', true);
console.log ($('.checkbox').prop('checked'));
console.log ($('.checkbox').is(':checked'));
expect($('.checkbox').is(':checked')).toBeTruthy();
});
控制台日志显示一个 true,然后显示一个 false,这意味着肯定有一个名为 "checked" 的属性,其值为 true,但这与 :check 不同。
我尝试在谷歌上搜索"使用jquery检查复选框",发现各种各样的人说要选中复选框,请使用prop()方法。其中一些答案就在Stack Overflow上。
显然,我做错了什么。我只需要帮助弄清楚它是什么。谁能帮忙?
所以,首先,这取决于你与脚本一起使用的jQuery版本。尝试给定两种方法,希望它们会起作用。
jQuery 1.6+使用新的 .prop() 函数:
$('.checkbox').prop('checked', true);
$('.checkbox').prop('checked', false);
jQuery 1.5.x 及更低版本.prop() 函数不可用,因此您需要使用 .attr()。
$('.checkbox').attr('checked', true);
$('.checkbox').attr('checked', false);
相关文章:
- 将PHP变量传递给jQuery时遇到问题
- 将jQuery转换为用户脚本的普通Javascript时遇到问题
- 将子文档推送到父数组时遇到问题
- JQuery FullCalendar在从ajax成功调用rerenderEvents时遇到问题
- 在将javascript附加到我的html中时遇到问题
- 为什么我在以编程方式打开窗口时遇到问题
- 在将缩略图链接到模态时遇到问题
- 使用 ng 模型获取数据时遇到问题
- 是否有其他人在设计Twitter Typeahead时遇到问题'的搜索栏
- 使用jquery进行整数比较时遇到问题
- 使用PhantomJS下载动态web内容时遇到问题
- 设置RequireJS时遇到问题
- 让Javascript在SharePoint 2010上运行时遇到问题
- I'我在react.js中编写for循环时遇到问题
- 通过jQuery获取上传的文件名时遇到问题
- 我在启动我的节点时遇到问题.js IRC 机器人
- Ruby on Rails 4:在 Rails Web 应用程序中添加 Javascript 文件时遇到问题
- 从谷歌地图自定义控件打开离子模态时遇到问题
- 在使用 YAML 和 Google App Engine 时遇到问题
- 在 Chrome 扩展程序中将鼠标悬停在广告上使用时遇到问题