1. 程式人生 > >JQuery Mobile - 修改複選框的選中狀態無效解決辦法!

JQuery Mobile - 修改複選框的選中狀態無效解決辦法!

今晚,在編寫JQuery Mobile程式時候,需要在程式碼裡面控制複選框的選中狀態,很簡單的程式碼啊,很快完成了!等測試程式時候傻眼了,頁面無論如何也不按照我寫的程式碼顯示出來!問題出在哪裡呢?是我寫的控制狀態程式碼有問題?檢視資料,最終使用prop來控制狀態。理應可以了吧?但是還不行,頁面還是沒有正常顯示控制程式碼要的狀態!難道真的沒有改變複選框的checked屬性?通過測試程式碼發現,不是!已經在程式碼裡面完成修改了,而且Dom對應元素的值已經改變了,那就是說,控制程式碼沒有問題,只是頁面沒有正常顯示而已!!

通過查詢資料,真的是把網際網路翻了一個遍啊,最終解決了,果然如我所料,就是頁面沒有正常顯示控制程式碼要表達的狀態!!

說明:下面程式碼是遍歷一組複選框,我做的控制程式碼是不管有多少複選框,通通不選中!!

一般網上介紹的程式碼:

          $("input[type=checkbox]").each(function () {

                $(this).prop("checked", false);
            })

這樣的程式碼,是絕大多數網上介紹的,說這樣操作就可以了,但是在我做的程式裡面,真的不好使,而且,確實已經把對應的複選框的值修改成了不選中了!!

最終解決的程式碼:

        $("input[type=checkbox]").each(function
() { $(this).prop("checked", false).checkboxradio("refresh"); })

參考:

https://stackoverflow.com/questions/21530783/jquery-mobile-checking-checkbox-dynamically-is-not-working