日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
jquery全選反選,jquery實現(xiàn)全選和取消全選

jquery checkbox 全選反選代碼只能執(zhí)行一遍,第二次就失敗

removeAttr參數(shù)只需要一個,removeAttr("checked")

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設,中方企業(yè)網(wǎng)站建設,中方品牌網(wǎng)站建設,網(wǎng)站定制,中方網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,中方網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

不過建議替換成

$(".chooseall").click(function(){

if($(".chooseall").prop("checked")?==?true){

$("input[name='checkbox1']").prop("checked",?false);

console.log(1);

}else{

$("input[name='checkbox1']").prop("checked",?false);

console.log(2);

}

});

或者更簡潔的,

$(".chooseall").click(function(){

var?isChecked?=?$(this).prop("checked");

$("input[name='checkbox1']").prop("checked",?isChecked);

});

jquery 全選反選

//?改用prop

$("類名").prop("checked","checked");//全選

$("類名").removeAttr("checked");//取消全選

我的jquery復選框 全選/全不選/反選 功能為什么不正常啊

$('#checkAll').click(function(){

$(':checkbox').each(function(i,?el){//最好這樣。setAttribute有時候會有問題。

el.checked?=?true;

});

});

$('#checkNo').click(function(){

$(':checkbox').each(function(i,?el){

el.checked?=?false;

});

});

$('#checkReverse').click(function(){

$(':checkbox').each(function(){

var?flag=this.checked;

$(this).attr('checked',function(index,value){

return?!value;

});

});

});

如果你直接

$(':checkbox').attr('checked',true);

你會發(fā)現(xiàn),其實你復選框上已經(jīng)顯示checked="checked"了。按道理是應該處于選中狀態(tài)的。

但實際上。你再調(diào)用

$(':checkbox')[0].checked;//會返回false

很奇怪吧。雖然從attr屬性上看,確實是checked的。但是dom元素的直接屬性上,卻返回false。

jquery的attr調(diào)用的是DOM的setAttribute方法。也就是說,

$el.setAttribute('checked', true);和$el.checked = true;是有可能在瀏覽器上處理不一致的。

最常規(guī)的方式總之最正確的。如果遇到兼容性的問題。就盡量采用DHTML中最通用的方式。

JQuery實現(xiàn)列表中復選框全選反選功能封裝(推薦)

我們在做列表的時候經(jīng)常會遇到全選,反選進行批量處理問題,例如:

我當時就是簡單的實現(xiàn)了,然后想封裝到公共的js中,封裝的太爛,不好意思貼出來了(就是把實現(xiàn)代碼之間放到公共js中,然后每個頁面都用固定的id,class,現(xiàn)在想想我都不好意思叫他封裝了),然后想到之前老大有寫過這個功能去看下他怎么寫的,真是沒有對比就沒有傷害啊,這才叫封裝;

$(':checkbox[data-check-target]').click(function

()

{

var

target

=

$(this).attr('data-check-target');

if

($(this).prop('checked'))

{

$(target).prop('checked',

true);

}

else

{

$(target).prop('checked',

false);

}

});

首先這兒的高封裝性就體現(xiàn)出來了,只有一個自定義的data-check-target屬性用于js和html分離后的連接橋梁(而我當時用兩個:一個全選復選框,一個子復選框,有關(guān)的點都用上了,這樣就沒起到封裝的效果,js和html耦合性太大)(我看到上面的js就在想怎么通過一個連接點把三個相關(guān)聯(lián)的東西聯(lián)系起來的呢);

接下來我們繼續(xù)看具體使用的地方:

我發(fā)現(xiàn)全選復選框用于和js鏈接的橋梁的自定義屬性data-check-target有點特別:

input

type="checkbox"

data-check-target=".id-checkbox"

/

它的值為“.id-checkbox”,看起來就感覺好奇怪,繼續(xù)往下看子復選框?qū)崿F(xiàn):

input

type="checkbox"

name="ids[]"

value="@item.Id"

class="id-checkbox"

/

到這兒才豁然開朗原來子復選框的class名稱就存放在自定義屬性data-check-target中;

var

target

=

$(this).attr('data-check-target');

然后再通過自定義屬性data-check-target拿到子復選框的class,從而達到高封裝性;

我總結(jié)的就是js和html通過了自定義屬性data-check-target通信,子復選框依賴全選復選框自定義屬性data-check-target的值;

這個例子看下來代碼不難,也沒有什么地方很難理解的,就是通過一個自定義屬性巧妙的完成了低耦合的封裝,這也是正是這段代碼的難點和精髓;

我真心抑制不住內(nèi)心的崇拜,這幾行代碼太漂亮了。

PS:上面js為什么用prop而不用attr,因為:如果當前input中初始化未定義checked屬性,則該元素沒有指定的checked屬性,所以.attr()會返回undefined;

對于HTML元素本身就帶有的固有屬性,在處理時,使用prop方法。

對于HTML元素我們自己自定義的DOM屬性,在處理時,使用attr方法。

以上所述是小編給大家介紹的JQuery實現(xiàn)列表中復選框全選反選功能封裝(推薦),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!


網(wǎng)頁題目:jquery全選反選,jquery實現(xiàn)全選和取消全選
本文網(wǎng)址:http://www.dlmjj.cn/article/dsgssdh.html