cof*_*tor 10 checkbox jquery internet-explorer
以下代码适用于FF,Safari,Chrome.但IE给了我一些问题.
选中复选框后,我无法让IE检测到它.
$("#checkbox_ID").change(function(){
if($('#'+$(this).attr("id")).is(':checked'))
{
var value = "1";
}
else
{
var value = "0";
}
alert(value);
return false;
});
Run Code Online (Sandbox Code Playgroud)
简单地说,我没有像预期的那样得到那个警报弹出窗口.
我甚至尝试过这种方式:
$("#checkbox_ID").change(function(){
if( $('#'+$(this).attr("id")'+:checked').attr('checked',false))
{
var value = "1";
}
else
{
var value = "0";
}
alert(value);
return false;
});
Run Code Online (Sandbox Code Playgroud)
这是简单的复选框输入: <input class="prod" type="checkbox" name="checkbox_ID" id="checkbox_ID" value="1"/>
有人知道IE是否需要不同的jquery方法?或者我的代码刚刚关闭?
如果在单击复选框后单击其他位置,它可能会起作用.IE很奇怪.
可能尝试类似的东西:
$(function () {
if ($.browser.msie) {
$('input:checkbox').click(function () {
this.blur();
this.focus();
});
Run Code Online (Sandbox Code Playgroud)
更多信息:http://norman.walsh.name/2009/03/24/jQueryIE
正如使用IE7及以下的sblom所指出的那样,你需要使用该元素模糊才能触发此动作,IE及其他浏览器的后续版本不需要该元素明确失去焦点,只需更改即可触发此事件(如下图所示)例).
我相信你的问题可能是你试图在超出范围时访问'value'变量.
$("#checkbox_ID").change(function(){
var value;
if($(this).is(':checked'))
{
value = "1";
}
else
{
value = "0";
}
alert(value);
return false;
});
Run Code Online (Sandbox Code Playgroud)
这是一个工作预览,请注意,因为您在函数末尾返回false,它会将复选框重置为其先前的值,因为您已取消了单击的效果.
归档时间: |
|
查看次数: |
10916 次 |
最近记录: |