jQuery Mobile是一個(gè)基于jQuery的開源移動(dòng)端HTML5框架,它為開發(fā)人員提供了許多移動(dòng)端UI組件、主題和插件。在開發(fā)移動(dòng)端應(yīng)用時(shí),全選功能是很常見的需求。jQuery Mobile提供了方便的方法來實(shí)現(xiàn)全選功能。
首先,我們需要定義一個(gè)全選的復(fù)選框,例如:
<fieldset data-role="controlgroup" data-type="horizontal"> <legend>選擇所有項(xiàng):</legend> <label for="checkbox-1">全選</label> <input type="checkbox" name="checkbox-1" id="checkbox-1"> </fieldset>
接著,我們需要定義一組需要全選的復(fù)選框,例如:
<div data-role="fieldcontain"> <fieldset data-role="controlgroup"> <legend>選擇以下項(xiàng):</legend> <input type="checkbox" name="checkbox-2" id="checkbox-2"> <label for="checkbox-2">選項(xiàng)1</label> <input type="checkbox" name="checkbox-3" id="checkbox-3"> <label for="checkbox-3">選項(xiàng)2</label> <input type="checkbox" name="checkbox-4" id="checkbox-4"> <label for="checkbox-4">選項(xiàng)3</label> </fieldset> </div>
最后,我們可以使用jQuery Mobile提供的方法來實(shí)現(xiàn)全選功能,例如:
$(document).on('change', '#checkbox-1', function(){ var checkboxes = $('input[name^="checkbox-"]'); if($(this).prop('checked')){ checkboxes.prop('checked', true).checkboxradio('refresh'); }else{ checkboxes.prop('checked', false).checkboxradio('refresh'); } });
在上述代碼中,我們監(jiān)聽了全選復(fù)選框的change事件,當(dāng)全選復(fù)選框被選中時(shí),我們將一組復(fù)選框全部選中,并調(diào)用checkboxradio('refresh')方法來更新UI;當(dāng)全選復(fù)選框取消選中時(shí),我們將一組復(fù)選框全部取消選中,并調(diào)用checkboxradio('refresh')方法來更新UI。
通過以上的實(shí)現(xiàn),我們可以很方便地實(shí)現(xiàn)jQuery Mobile中的全選功能。