關於checkbox全選與全不選的實現與遇到的問題

2022-07-03 20:33:10 字數 1735 閱讀 2209

html:

1

<

div

class

="outbox"

>

2<

label

for="box"

>全選

label

>

3<

input

type

="checkbox"

id="box"

/>

4div

>

5<

div

class

="outbox2"

>

6<

label

for="box1"

>選項1

label

>

7<

input

type

="checkbox"

id="box1"

name

="goods"

/>

8<

label

for="box2"

>選項2

label

>

9<

input

type

="checkbox"

id="box2"

name

="goods"

/>

10div

>

第一種方法:

1 $("#box).click(function()else

1213 })

本以為這種方法能完成全選與全不選的功能,但是當第一次點選時,能正確全選,再點選也能正確全不選;但是當再次點選的時候,就不能全選與全不選了,點了完全沒作用。找不到原因是什麼!

第二種方法:

1 $("#box).click(function())

1011

}else)

1819}20

21   })

這種方法就能正確的實現全選與全不選的功能了。這又是為什麼呢?

第三種方法:

1)

1 $("#box).change(function())

2)

1 $("#box).click(function()else

1213   })

或者是把prop裡的布林值,true改成「checked」,false改成 「 」。也可已實現全選與全不選的功能。

疑問:為什麼prop就可以直接賦值,而attr這樣賦值就不行呢?

我一開始的時候,checkbox是未選中狀態,alert($("#box").attr("checked"))一直返回的是defined,但是alert($("#box").prop("checked"))返回的就是false;這是為什麼捏?

原因是在jquery1.6版本,對checked屬性在頁面初始化的時候已經初始化好了,不會隨著狀態的改變而改變。也就是說如果checkbox在頁面載入完畢是選中的,那麼返回的永遠都是選中狀態,但是如果一開始就沒有被選中,返回的永遠是undefined。

prop()函式用於設定或返回當前jq物件所匹配的元素的屬性值,該函式屬於jq物件。如果要刪除dom元素的屬性,就用removeprop()函式

checkbox 的全選與全不選

checkbox 的全選與全不選 只需要呼叫 cekall.check 方法,這個方法接收兩個引數 引數一 全選按鈕的 id 以字串的形式寫 引數二 其他 checkbox 的 name 值 也是以字串的形式寫 使用很簡單 複製 js 到你的 js 檔案的任何地方,只需要在html文件載入完以後呼叫...

checkbox全選和全不選

每次寫都會出現問題,每次.jquery1.6之後改了prop 可是attr也可以用,我這裡,checkall click function else var flag true input name checkbox each function else if flag else 這樣在html或其...

WPF 一組CheckBox的全選 全不選功能

需求 給一組checkbox做乙個全選 全不選的按鈕。思路 checkbox不像radiobutton那樣擁有groupname屬性來分組,於是我想的方法是將這組checkbox放到乙個布局容器中,給這個布局容器命名,後台 通過名字找到該布局控制項,再獲取它的所有子類,即可操作這一組checkbox...