大家好

偶然的機會,我突然想到,有些 checkbox 是 半選狀態,例如


所以我也在想,到底要如何呈現呢?
其實很簡單
一般的選取是 checked=true
半選是 indeterminate=true
但是神奇的是
如果直接用 屬性的方式直接指定 indeterminate=true ,會發現沒有效果,必須針對物件的屬性修改值才會產生作用。
例如用 jQuery 修改 DOM 物件:
jQuery("#my_checkbox").prop('indeterminate',true);
或是用原生JS方式:
var checkbox = document.getElementById("my_checkbox"); checkbox.indeterminate = true;
都可以
但是就是不能藉由 參數屬性 來產生該效果
例如直接新增一個網頁,裡面物件有
<input type="checkbox" value="1" id="my_checkbox" indeterminate="true" >
會發現他還是沒有選取的狀態
而且也要注意,即使修改 indeterminate 的狀態,不會影響目前是否 選取 checked,也就是說,目前已經選取或是未選取的 checkbox 不會因為改變了 indeterminate 的值而在表單送出時值會改變,這點需要特別注意。
也就是說 indeterminate 的值只是單純拿來表示"半選"的狀態而已。
給大家參考囉
感恩
留言板
歡迎留下建議與分享!希望一起交流!感恩!