2 izzyii Izzyii 于 2016.03.30 13:28 提问

【jQuery】【js】复选框只改变checked属性会激发change事件么

一个列表里的几行数据,每行数据前都有一个复选框,默认为不选中状态,点击某行的时候会设置当前行前复选框的checked属性为true,但是对应的change事件并不执行,如果直接点击某行的复选框,change事件就执行了,什么原因

9个回答

u012377333
u012377333   Rxr 2016.03.30 13:55

我的复选框是通过onclick事件处理的,在函数里面去判断checked是true还是false

```
/* 显示时间 */
function showTime() {
var show = document.getElementById("show");
var time = document.getElementById("dateShow");
if (show.checked) {
//alert("checked");
time.style.display = "";
} else {
//alert("un checked");
time.style.display = "none";
}
}


u012377333
u012377333   Rxr 2016.03.30 13:55
<input type="checkbox" onclick="javascript:showTime()" id="show" name="show" checked="checked" />
u012377333
u012377333   Rxr 2016.03.30 13:56
/* 显示时间 */
function showTime() {
    var show = document.getElementById("show");
    var time = document.getElementById("dateShow");
    if (show.checked) {
        //alert("checked");
        time.style.display = "";
    } else {
        //alert("un checked");
        time.style.display = "none";
    }
}
u012377333
u012377333   Rxr 2016.03.30 13:58
/* 显示时间 */
function showTime() {
    var show = document.getElementById("show");
    var time = document.getElementById("dateShow");
    if (show.checked) {
        //alert("checked");
        time.style.display = "";
    } else {
        //alert("un checked");
        time.style.display = "none";
    }
}
u012377333
u012377333   Rxr 2016.03.30 13:59
/* 显示时间 */
function showTime() {
    var show = document.getElementById("show");
    var time = document.getElementById("dateShow");
    if (show.checked) {
        //alert("checked");
        time.style.display = "";
    } else {
        //alert("un checked");
        time.style.display = "none";
    }
}
u012377333
u012377333   Rxr 2016.03.30 13:59
/* 显示时间 */
function showTime() {
    var show = document.getElementById("show");
    var time = document.getElementById("dateShow");
    if (show.checked) {
        //alert("checked");
        time.style.display = "";
    } else {
        //alert("un checked");
        time.style.display = "none";
    }
}
fubo1990
fubo1990   2016.03.30 14:02

点击某行只是把改行的checkbox的checked属性进行了改变,而并没有去执行change事件。你要想实现改变属性后执行change事件,你的用程序进行控制。

showbo
showbo   Ds   Rxr 2016.03.30 14:31

js设置checkbox的勾选是不会触发onchange事件的,你需要用jquery trigger下

 $('#xxx').prop('checked',true).trigger('change')
Izzyii
Izzyii   2016.04.20 09:11

第一次提问,还没弄懂这个要怎么回复,谢谢大家。 方法我都会试一下,再次感谢~

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
jquery checkbox选中、改变状态、change和click事件
jquery判断checked的三种方法:.attr('checked); //看版本1.6+返回:”checked”或”undefined” ;1.5-返回:true或false.prop('checked'); //16+:true/false.is(':checked'); //所有版本:true/false//别忘记冒号哦 jquery赋值checked的几种写法:所有的jqu
jquery checkbox 复选框 选中 改变状态 change和click事件
jquery判断checked的三种方法: .attr('checked); //看版本1.6+返回:”checked”或”undefined” ;1.5-返回:true或false//16+版本:true/false .prop('checked'); //16+:true/false//所有版本:true/false//别忘记冒号哦 .is(':checked'); //所有版本:tru
js checkbox的click事件,触发这个复选框的onchange事件的问题
先贴一段代码,这是正常情况:         $(function () {             var tableHTML = new Array();             for (var i = 0; i                 var chk = '' + i + '';                 tableHTML.push(chk);      
CheckBox的checkedChange触发不了的问题
遇到一个问题就是CheckBox的checkedchange事件没有触发,经过研究之后的结果是autopostback为true才能实现这个功能
通过attr(,)动态设置CheckBox的checked属性,会出现第二次设置cheked属性不起作用的情况
转载自:http://blog.csdn.net/xiaouncle/article/details/52001117 出现该问题时就要了解一下jquery利用attr、prop方法的区别 在jquery中应该使用prop方法来获取和设置checked属性,不应该使用attr,需要的朋友可以参考下。 1、prop方法获取、设置checked属性 "checkbox" nam
jQuery1.9为动态添加元素绑定事件以及获取和操作checkbox的选择属性
1.jQuery为动态添加的元素绑定事件:在1.7之后,添加了live()方法,1.9后又被移除,1.9中可用on()方法: $(function() { $('.btn').on('click', function() { alert('按钮被点击'); }); $('body').append('动态添加的按钮'); }); 2.获取checkbox是否被选中,以及操作其选中
jquery设置checkbox为checked状态不改变的解决办法
使用jQuery设置checkbox为选择状态时,我们通常会使用$(this).attr("checked", true); //或者 $(this).attr("checked", checked);但是当你的jquery版本大于1.6的时候,这种只能生效一次,后面你只会看到checkbox的checked属性会增加checked但是现实的状态是没有打钩的。这种情况下你就不能使用(this).at
checkbox无法立即实现onchange的两种替代方法(onchange和onpropertyc
转载自:http://www.cnblogs.com/blueyund/articles/1250986.html<br /><br /><br /><br />例如<input type="checkbox" onchange="alert(this.value)" value="haha">,在IE下必须点击一下页面空白的地方才可以激活onchange事件,替换的两种方法 <br />1、<input type=checkbox onclick="alert(this.value)" value=hue
checkbox状态改变事件
$("input[type='checkbox']").off("click"); $("input[type='checkbox']").on('click',function(){ var flag = $(this).is(':checked'); if(flag){ if(user.corpId == $(this).attr("vociDeptId")){
jquery中复选框checked属性
以前看书及学习的时候 认为复选框的checked属性设置就是用attr()方法设置checked的属性,看来知识还是停留在表面。我的确看《锋利的jQuery》时候敲过代码,但真的是没好好斟酌,知识没深挖。 这里我也想说这本书中5.1.3的复选框应用的例子确实也有问题。它设置checked属性时讲的就是:(初始化时input元素未设置checked属性) $("[name=items]:chec