2012-11-15 121 views
1

我試圖改變我的狀態jqueryMOBILE複選框。我使用下面的代碼來改變狀態。複選框刷新不起作用

$('#_inputcb_Q801').prop('checked', false); 

我找到了一個解決方案,不適合我。 我在jquerymobile上找到了解決方案,下面的代碼就是我試過的,但是它給出了一個錯誤。

$('#_inputcb_Q801').prop('checked', false).checkboxradio('refresh'); 

這是錯誤: 運行時錯誤Microsoft JScript中的:不能調用到初始化checkboxradio現有技術方法;試圖調用方法'刷新'

我該如何解決這個問題?

+1

該錯誤消息似乎還指示問題。在插件綁定到元素'$('#_ inputcb_Q801')。checkbox()'之前,最有可能類似於調用刷新。只需確保在初始化元素上的插件之前不調用刷新。 – Bogdan

回答

-1

試試這個

$('#_inputcb_Q801').attr('checked', false); 
+0

感謝您的答覆,它的工作原理,但它並沒有更新用戶視圖,在代碼中未選中,但用戶仍然看到複選框被選中。 – user1652050

+0

我認爲它也會更新視圖。試試吧 $('#_ inputcb_Q801')。change(); –

+1

也不工作,它看起來像GUI沒有更新或某些..... – user1652050

0

找到了解決辦法,生病後它低於它可能會幫助別人:

$('#_bQ801').click(function(){ 
     $.mobile.changePage('#Question_09_01', 'slide', false, false); 
     $('#_inputcb_Q901').attr('checked', false); 
     $('#_inputcb_Q901').checkboxradio('refresh');} 
+0

改進:刪除點擊處理程序,刪除$ .mobile ...只需要最後兩條語句。 – Zim84

2

嘗試。

  • 複選框

    $('.ui-checkbox input').attr('checked', false).checkboxradio('refresh');

  • 選擇框

    $('.ui-select select').val('').selectmenu('refresh');