2014-11-06 49 views
0

我最近從JQM 1.4.2升級到1.4.5,但是這樣做對我來說產生了一個新的錯誤。我有一個面板的搜索選項,每個頁面上都有一個無線電控制組顯示:按下後退按鈕後JQuery Mobile 1.4.5無線電控制組會中斷

<fieldset data-role="controlgroup"> 
    <input type="radio" name="choiceActiveCont" id="choiceActiveCont" value="choiceActiveCont" checked="checked"> 
    <label for="choiceActiveCont">Active Contracts</label> 
    <input type="radio" name="choiceActiveCont" id="choiceAllCont" value="choiceAllCont"> 
    <label for="choiceAllCont">All Contracts</label> 
</fieldset> 

這一直工作正常。但是,如果我頁面之間導航,然後按返回鍵此對照組完全打破:

broken radio button control group image

有沒有人對這個問題可能在這裏有什麼什麼想法?謝謝

+0

如果使用相同的代碼在1.4.2上沒有任何問題,那麼它應該被報告爲1.4.5中的錯誤。 – Omar 2014-11-06 17:13:44

+0

好的。你知道我可以在哪裏報告錯誤嗎? – Janey 2014-11-06 17:17:51

+0

https://github.com/jquery/jquery-mobile/issues確保提供包含所有細節的完整演示。 – Omar 2014-11-06 17:20:08

回答

1

這是固定的 - 問題是與複選框的ID。 JQM改變了複選框標籤在修復另一個錯誤時的標識方式。識別複選框標籤的新方法與規範一致,但這也意味着他們搜索整個文檔以查找屬於給定複選框的第一個標籤。因此,即使該標籤位於不同的jQM頁面上,他們也會抓取第一個標籤。

要解決這個問題,我完全避免使用ID。該checkboxradio部件將不利用ID的工作,如果

<輸入>

<標籤>

所以,

的孩子
<label><input type="checkbox" name="something">Something</label> 

將工作,並不需要一個ID。

*感謝JQM bug團隊的回覆!我希望這可以幫助有同樣問題的其他人。

+0

爲什麼不使用外部面板?因爲所有頁面都使用相同的面板。代碼較少。 – Omar 2014-11-07 10:09:31

+0

我已經在使用外部面板... – Janey 2014-11-07 11:03:39

+0

然後,代碼不應該中斷,除非您在面板和其他地方使用了相同的ID;) – Omar 2014-11-07 11:04:57