我正在尝试在更改后检查复选框的状态。当我单击复选框或在我的“搜索文本框”上按Enter键时,它应切换复选框的选中状态,然后返回更新的值。我的示例适用于FF但不适用于IE
HTML:
<!--
hit enter and it should toggle the checkbox state and return the updated value
it works as expected in FF but not in IE
-->
<input type='text' class='txt_search' />
<input type='checkbox' class='chk_test' />
的javascript:
$('.txt_search').keyup(function(event){
if(event.keyCode == '13')
{
$('.chk_test').click();
}
});
$('.chk_test').change(function(){
var self=$(this);
alert(self.prop('checked'));
});
答案 0 :(得分:2)
虽然我无法复制问题,但这可能是导致问题的原因:您在复选框上调用click事件,然后绑定到change事件。相反,请尝试恰当地设置复选框的属性。您也可以根据他们是否在文本框中输入内容来切换此方法:
更新:现在使用bind
与IE8配合使用。
$('.txt_search').keyup(function(event){
if(event.keyCode == '13')
{
var chk = $('input.chk_test');
chk.prop('checked', !!$(this).val());
}
});
$('.chk_test').bind('change', function(){
var self=$(this);
alert(self.is(':checked'));
});